Православный форум Доброе слово

Никакое гнилое слово да не исходит из уст ваших, а только доброе для назидания в вере, дабы оно доставляло благодать слушающим (Еф.4:29)
 
  FAQ    Поиск    Пользователи    Регистрация    Вход   

Начать новую тему Ответить на тему  [ Сообщений: 49 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Помогите дописать php-скрипт!
 Сообщение Добавлено: 01 май 2011, 20:16 
я просто здесь живу :)
Аватар пользователя

Зарегистрирован: 10 янв 2009, 22:47
Сообщения: 1422

Возраст: 33
Вероисповедание: Православный, МП
Привожу конкретные примеры кода, на которые Вам, уважаемый Игорь Валерьевич, нужно опираться при написании Вашей программы.
1. Запись в текстовый файл созданной переменной:
Код:
<?php
//открываем файл для записи.
//Внимание!! права на запись файла должны быть 0777
$fp = fopen("text.txt", "a");
//записываем в переменную выражение для записи
$text="то, что надо записать";
//записываем в файл значение из переменной $text
fwrite($fp, $text."\r\n");
// закрываем файл
fclose($fp);
?>

2. Чтение из файла:
Код:
<?php
//Открываем файл
$f = fopen( "file.txt" , "r" );
//Считываем информацию в переменную $text
$text = fread( $f , filesize( $f ) );
//Закрываем файл
close($f);
//Выводим содержимое файла
print $text;
?>

3. Удаление строчки из файла:
Код:
<?php
//открываем файл
$f_arr = file( "file.txt" );
//Какую строку нужно удалить
//Нумерация начинается с нуля
$needle = 2;
//удаление строки из файла
array_splice( $f_arr , $needle , 1 );
$f = fopen( "file.txt" , "w" );
for( $i = 0; $i < count( $f_arr ); $i++ )
  {  fwrite( $f , $f_arr[$i] . "\n" );  }
// закрываем файл.
close($f);
?>

4. Как скопировать, переименовать, удалить файл или директорию:
Код:
<?php
// Удаление файла
unlink( "file.txt" );
// Удаление директории. Внимание, папка должна быть пустой
rmdir( "folder/" );
// Копирование.
copy( "otkuda.txt" , "kuda.txt" );
// Переименование.
rename( "chto.txt" , "vo_chto.txt" );
?>

5. Как очистить содержимое файла:
Код:
<?php
//Открываем файл
$f = fopen( "file.txt" , "r" );
//Обнуляем его содержимое
ftruncate( $f , 0 );
//закрываем файл
close($f);
?>

Вместо конкретных названий Ваших, уважаемый Игорь Валерьевич, файлов и переменных я позволил себе привести здесь альтернативные имена и адресации. Сопровождая всё комментариями. Внимательно их изучив, Вам не составит труда дописать свой код.

_________________
Меня зовут Сергей.


 Профиль WWW  
 
 Заголовок сообщения: Re: Помогите дописать php-скрипт!
 Сообщение Добавлено: 01 май 2011, 20:19 
я просто здесь живу :)
Аватар пользователя

Зарегистрирован: 16 мар 2011, 18:55
Сообщения: 1967

Возраст: 30
Откуда: Волжский
Вероисповедание: Православный, МП
Спасибо! Я как-нибудь попробую.

_________________
Игорь Валерьевич вернул себе свой прежний ник Viv :)


 Профиль WWW  
 
 Заголовок сообщения: Re: Помогите дописать php-скрипт!
 Сообщение Добавлено: 02 май 2011, 09:32 
я просто здесь живу :)
Аватар пользователя

Зарегистрирован: 16 мар 2011, 18:55
Сообщения: 1967

Возраст: 30
Откуда: Волжский
Вероисповедание: Православный, МП
витт писал(а):
Игорь, после прочтения твоих топиков действительно возникает чувство, что отец тебя не научил элементарному уважению к другим людям!

Виталий, я ещё раз повторюсь, у меня бывают такие резуие выражения, но других людей я уважаю! Резкие выражения - это ещё не первый признак неуважения, первый признак неуважения - это когда я уже слишком часто начну грубить людям, а то и потом начну обзываться! Уверен, что такого не будет. :)

_________________
Игорь Валерьевич вернул себе свой прежний ник Viv :)


 Профиль WWW  
 
 Заголовок сообщения: Re: Помогите дописать php-скрипт!
 Сообщение Добавлено: 02 май 2011, 22:56 
мне тут понравилось
Аватар пользователя

Зарегистрирован: 22 фев 2010, 14:45
Сообщения: 433

Возраст: 46
Откуда: Череповец
Вероисповедание: Православный, МП
Код:
<?php
$name = $_GET['name'];
$email = $_GET['email'];
$editlink = $_GET['editlink'];
$money = $_GET['money'];
$id = $_GET['id'];
$progname = $_GET['progname'];

echo "Отправка данных программы подтверждена. <br />";
echo "Ваше имя: " . $name . "<br />";
echo "Ваш E-mail адрес: " . $email . "<br />";
echo "<a href=\"$editlink\">Изменить все данные формы</a> <br />";

$filename = 'mysoftlog.txt';

if (file_exists($filename))
{
   $handle = fopen($filename, "r");
   $mytext1 = fgets($handle);
   $bool = 0;
   $poz = 0;
   $i = 0;
   while (!feof($handle))
   {
      $mytext2 = fgets($handle);
      $i = $i + 1;
      if ($mytext1[0] == $name)
      {
         if ($mytext2[0] == $email)
         {
            $bool = 1;
            $poz = $i;
         }
      }
      $mytext1 = $mytext2;
   }
   fclose ($handle);
   if ($bool == 1)
   {
      //найдено совпадение имени и е-майла
      //позиция совпадения - $poz
   }
   else
   {
      $handle = fopen($filename, "a");
         fwrite ($handle, $name . "\n");
         fwrite ($handle, $email . "\n");
         fwrite ($handle, $editlink . "\n");
         fwrite ($handle, $money . "\n");
         fwrite ($handle, $id . "\n");
         fwrite ($handle, $progname . "\n");
         fwrite ($handle, "---" . "\n");
      fclose ($handle);
   }
}
else
{
   $handle = fopen($filename, "w");
      fwrite ($handle, $name . "\n");
      fwrite ($handle, $email . "\n");
      fwrite ($handle, $editlink . "\n");
      fwrite ($handle, $money . "\n");
      fwrite ($handle, $id . "\n");
      fwrite ($handle, $progname . "\n");
      fwrite ($handle, "---" . "\n");
   fclose ($handle);
}
?>


код полностью рабочий - проверен
что делать если имя и е-майл уже содержится в файле вот эту фразу "Если да, то остальные переменные в txt-файле должны быть под именем и E-mail адресом пользователя" я не понял

опытный сишник без труда заметит, что манера писания не сишная)))

Kemsit писал(а):
7. Георгий, с Вами бы было крайне интересно пообщаться. Я жуткий нуб в VB, несмотря на то, что такой курс у меня был. Не мой профиль, увы. Хотя язык крайне интересный.

я всегда открыт для диалога
только зачем Вам бейсик и чем же он интересен? если Вам си ближе, лучше обратите внимание на шарп
я на бейсике сижу, только потому, что с самого начала его изучал - манера писания у меня уже бейсичная - все эти точки с запятой в конце строки... :x
после шестого бейсика встал вопрос VB изучать, шарп или плюсы - всё пробовал, но именно из-за этой манеры писания на VB стал писать. жалею, что с самого начала стал учиться на бейсике, учился бы на паскале - сейчас бы на шарпе писал или на плюсах.
хотя... VBA очень выручает

_________________
Простите меня, люди добрые
Дай Вам Бог здоровья


 Профиль  
 
 Заголовок сообщения: Re: Помогите дописать php-скрипт!
 Сообщение Добавлено: 02 май 2011, 23:05 
я просто здесь живу :)
Аватар пользователя

Зарегистрирован: 10 янв 2009, 22:47
Сообщения: 1422

Возраст: 33
Вероисповедание: Православный, МП
Георгий_O писал(а):
я всегда открыт для диалога
только зачем Вам бейсик и чем же он интересен? если Вам си ближе, лучше обратите внимание на шарп
я на бейсике сижу, только потому, что с самого начала его изучал - манера писания у меня уже бейсичная - все эти точки с запятой в конце строки... :x
после шестого бейсика встал вопрос VB изучать, шарп или плюсы - всё пробовал, но именно из-за этой манеры писания на VB стал писать. жалею, что с самого начала стал учиться на бейсике, учился бы на паскале - сейчас бы на шарпе писал или на плюсах.
хотя... VBA очень выручает

Я как раз изначально, с класса 7, учился на Паскале. А теперь как раз в основном и работаю на C# и С++. Скажем, основное направление вузовской подготовки. На плюсах программирую 4 года, на шарпе уже два.
Бейсик интересен для всестороннего развития. Его тоже можно качественно использовать. Большое желание есть ещё изучить яву и питон. Знакомы с ними?

_________________
Меня зовут Сергей.


 Профиль WWW  
 
 Заголовок сообщения: Re: Помогите дописать php-скрипт!
 Сообщение Добавлено: 03 май 2011, 05:43 
я просто здесь живу :)
Аватар пользователя

Зарегистрирован: 16 мар 2011, 18:55
Сообщения: 1967

Возраст: 30
Откуда: Волжский
Вероисповедание: Православный, МП
Георгий_О писал(а):
что делать если имя и е-майл уже содержится в файле вот эту фразу "Если да, то остальные переменные в txt-файле должны быть под именем и E-mail адресом пользователя" я не понял

То есть, если пользователь вводит в адресную строку такие же имя и E-mail, а данные о программе (ID, стимость и т.д.) совсем другие, то данные должны уже добавляться ПОД именем и E-mail'ом пользователя. В самом TXT-файле для каждого пользователя своя, так сказать, колонка. В одной колонке помещаются записи о программах одного пользователя, в другой - другого.
Георгий_О писал(а):
код полностью рабочий - проверен

А как Вы его проверяли? Через Денвер? Я как-то ставил себе последнюю версию Денвера, а у меня после этого Интернет перестал работать, пришлось удалить Денвер. :( Как его поставить по-нормальному, чтобы Интернет работал как следует :?:

_________________
Игорь Валерьевич вернул себе свой прежний ник Viv :)


 Профиль WWW  
 
 Заголовок сообщения: Re: Помогите дописать php-скрипт!
 Сообщение Добавлено: 03 май 2011, 20:40 
мне тут понравилось
Аватар пользователя

Зарегистрирован: 22 фев 2010, 14:45
Сообщения: 433

Возраст: 46
Откуда: Череповец
Вероисповедание: Православный, МП
вот неоптимизированный код, проверено рабочий
Код:
<?php
$name = $_GET['name'];
$email = $_GET['email'];
$editlink = $_GET['editlink'];
$money = $_GET['money'];
$id = $_GET['id'];
$progname = $_GET['progname'];

echo "Отправка данных программы подтверждена. <br />";
echo "Ваше имя: " . $name . "<br />";
echo "Ваш E-mail адрес: " . $email . "<br />";
echo "<a href=\"$editlink\">Изменить все данные формы</a> <br />";

$filename = 'mysoftlog.txt';

if (file_exists($filename))
{
   $handle = fopen($filename, "r");
   $count = 0;
   $bool = 0;
   $poz = 0;
   $arr = array();
   while (!feof($handle))
   {
      $count = $count + 1;
      $arr[$count] = fgets($handle);
   }
   fclose ($handle);
   
   for($i=1 ; $i<$count ; $i++)
   {
      echo "arr[$i] =  $arr[$i] <br />";
      if ((str_replace("\n", null, $arr[$i]) == $name)and(str_replace("\n", null, $arr[$i+1]) == $email))
      {
         $bool = 1;
         $poz = $i;
      }
   }
   if ($bool == 1)
   {
      echo "poz = $poz <br />";
      $arr2 = array();
      for($i=1 ; $i<$poz+6 ; $i++)
      {
         $arr2[$i] = $arr[$i];
      }
      $arr2[$poz+6] = "+";
      $arr2[$poz+7] = $editlink;
      $arr2[$poz+8] = $money;
      $arr2[$poz+9] = $id;
      $arr2[$poz+10] = $progname;
      
      for($i=$poz+6 ; $i<count($arr)+1 ; $i++)
      {
         $arr2[$i+5] = $arr[$i];
      }
   }
   else
   {
      $handle = fopen($filename, "a");
         fwrite ($handle, $name . "\n");
         fwrite ($handle, $email . "\n");
         fwrite ($handle, $editlink . "\n");
         fwrite ($handle, $money . "\n");
         fwrite ($handle, $id . "\n");
         fwrite ($handle, $progname . "\n");
         fwrite ($handle, "-" . "\n");
      fclose ($handle);
   }
}
else
{
   $handle = fopen($filename, "w");
      fwrite ($handle, $name . "\n");
      fwrite ($handle, $email . "\n");
      fwrite ($handle, $editlink . "\n");
      fwrite ($handle, $money . "\n");
      fwrite ($handle, $id . "\n");
      fwrite ($handle, $progname . "\n");
      fwrite ($handle, "-" . "\n");
   fclose ($handle);
}
?>

я проверял с помощью topserver 2.1

Kemsit писал(а):
Бейсик интересен для всестороннего развития. Его тоже можно качественно использовать.

а в какой IDE Вы программируете? когда-то читал, что в ms visual studio в одном проекте можно часть кода писать на бейсике, часть на шарпе, но не нашел как это делается, не встречали такое?

Kemsit писал(а):
Большое желание есть ещё изучить яву и питон. Знакомы с ними?

нет

_________________
Простите меня, люди добрые
Дай Вам Бог здоровья


 Профиль  
 
 Заголовок сообщения: Re: Помогите дописать php-скрипт!
 Сообщение Добавлено: 03 май 2011, 21:31 
я просто здесь живу :)
Аватар пользователя

Зарегистрирован: 16 мар 2011, 18:55
Сообщения: 1967

Возраст: 30
Откуда: Волжский
Вероисповедание: Православный, МП
Георгий_О писал(а):
я проверял с помощью topserver 2.1

А это сервер такой, или что? Попробую поставить.

_________________
Игорь Валерьевич вернул себе свой прежний ник Viv :)


 Профиль WWW  
 
 Заголовок сообщения: Re: Помогите дописать php-скрипт!
 Сообщение Добавлено: 04 май 2011, 06:00 
мне тут понравилось
Аватар пользователя

Зарегистрирован: 22 фев 2010, 14:45
Сообщения: 433

Возраст: 46
Откуда: Череповец
Вероисповедание: Православный, МП
да, вроде это локальный сервер

ой, забыл из переменной arr2 в файл записать? сможете сами? вобщем надо:
после
for($i=$poz+6 ; $i<count($arr)+1 ; $i++)
{
$arr2[$i+5] = $arr[$i];
}
1. открыть файл для записи (не для добавления)
2. открыть цикл от 1 до count($arr2)+1
3. записать $arr2 в файл
4. закрыть цикл
5. закрыть файл

_________________
Простите меня, люди добрые
Дай Вам Бог здоровья


 Профиль  
 
 Заголовок сообщения: Re: Помогите дописать php-скрипт!
 Сообщение Добавлено: 04 май 2011, 06:02 
я просто здесь живу :)
Аватар пользователя

Зарегистрирован: 16 мар 2011, 18:55
Сообщения: 1967

Возраст: 30
Откуда: Волжский
Вероисповедание: Православный, МП
А что это за переменная $arr2? У меня в скрипте вроде нет такой переменной.

_________________
Игорь Валерьевич вернул себе свой прежний ник Viv :)


 Профиль WWW  
 
 Заголовок сообщения: Re: Помогите дописать php-скрипт!
 Сообщение Добавлено: 04 май 2011, 11:27 
мне тут понравилось
Аватар пользователя

Зарегистрирован: 22 фев 2010, 14:45
Сообщения: 433

Возраст: 46
Откуда: Череповец
Вероисповедание: Православный, МП
в середину файла записать строку нельзя, поэтому мы сначала считываем файл в переменную arr, потом преобразуем её в переменную arr2 с добавление в середину нужных данных и потом переменную arr2 записываем в файл

_________________
Простите меня, люди добрые
Дай Вам Бог здоровья


 Профиль  
 
 Заголовок сообщения: Re: Помогите дописать php-скрипт!
 Сообщение Добавлено: 04 май 2011, 15:24 
я просто здесь живу :)
Аватар пользователя

Зарегистрирован: 16 мар 2011, 18:55
Сообщения: 1967

Возраст: 30
Откуда: Волжский
Вероисповедание: Православный, МП
Всё понятно. Надо подумать над этим и попробовать.

_________________
Игорь Валерьевич вернул себе свой прежний ник Viv :)


 Профиль WWW  
 
 Заголовок сообщения: Re: Помогите дописать php-скрипт!
 Сообщение Добавлено: 28 июн 2011, 14:52 
я просто здесь живу :)
Аватар пользователя

Зарегистрирован: 16 мар 2011, 18:55
Сообщения: 1967

Возраст: 30
Откуда: Волжский
Вероисповедание: Православный, МП
Я немного свой скрипт упростил. Нашёл хостинг с поддержкой PHP, а там выводится такая ошибка:

Warning: fopen(Activation.txt) [function.fopen]: failed to open stream: Permission denied in /home/bos/i/n/t/intsoft/public_html/Activation.php on line 5

Warning: fwrite(): supplied argument is not a valid stream resource in /home/bos/i/n/t/intsoft/public_html/Activation.php on line 9

Warning: fclose(): supplied argument is not a valid stream resource in /home/bos/i/n/t/intsoft/public_html/Activation.php on line 11

Warning: virtual() [function.virtual]: Unable to include '/lvt.htm' - request execution failed in /home/bos/i/n/t/intsoft/public_html/Activation.php on line 12
Как видно из сообщения, там ошибка на линиях 5, 9 и 11. Так как скрипт упрощён, там осталась только одна переменная $id. Вот код скрипта:
Код:
<?php
$id = $_GET['id'];
//открываем файл для записи.
//Внимание!!! права на запись файла должны быть 0777
$fp = fopen("Activation.txt", "a");
//записываем в переменную выражение для записи
$text="$id";
//записываем в файл значение из переменной $text
fwrite($fp, $text."\r\n");
// закрываем файл
fclose($fp);
echo virtual("/lvt.htm");
echo "<br> <br> Активация программы успешно подтверждена! Ваш ключ активации: <br> $id <br> Скопируйте его в Вашу программу. <br>";
?>

В чём тут ошибка?
Сообщение, которое я тут в скрипте указал, выводится на экран успешно, но в файл не записывается. Кстати, тут на хостинге пишут, что пользователь сам должен баннер устанавливать туда, иначе они удалят мой сайт.
virtual("/lvt.htm")
Это код баннера, который они там написали для PHP.

_________________
Игорь Валерьевич вернул себе свой прежний ник Viv :)


 Профиль WWW  
 
 Заголовок сообщения: Re: Помогите дописать php-скрипт!
 Сообщение Добавлено: 28 июн 2011, 14:57 
я просто здесь живу :)
Аватар пользователя

Зарегистрирован: 16 мар 2011, 18:55
Сообщения: 1967

Возраст: 30
Откуда: Волжский
Вероисповедание: Православный, МП
Это хостинг http://www.webservis.ru/

_________________
Игорь Валерьевич вернул себе свой прежний ник Viv :)


 Профиль WWW  
 
 Заголовок сообщения: Re: Помогите дописать php-скрипт!
 Сообщение Добавлено: 28 июн 2011, 17:21 
мне тут понравилось
Аватар пользователя

Зарегистрирован: 22 фев 2010, 14:45
Сообщения: 433

Возраст: 46
Откуда: Череповец
Вероисповедание: Православный, МП
можно попробовать вместо fopen писать @fopen
вместо fwrite писать @fwrite
вместо fclose писать @fclose

_________________
Простите меня, люди добрые
Дай Вам Бог здоровья


 Профиль  
 
 Заголовок сообщения: Re: Помогите дописать php-скрипт!
 Сообщение Добавлено: 28 июн 2011, 18:23 
я просто здесь живу :)
Аватар пользователя

Зарегистрирован: 16 мар 2011, 18:55
Сообщения: 1967

Возраст: 30
Откуда: Волжский
Вероисповедание: Православный, МП
Всё получилось, слава Богу! Переехал на другой хостинг. Он правда глючит немного, но скрипт работает в неизменном виде, и баннер не нужно ставить. Теперь на php пишу админку для управления ключами активации своих программ.

_________________
Игорь Валерьевич вернул себе свой прежний ник Viv :)


 Профиль WWW  
 
 Заголовок сообщения: Re: Помогите дописать php-скрипт!
 Сообщение Добавлено: 29 июн 2011, 10:33 
я просто здесь живу :)
Аватар пользователя

Зарегистрирован: 16 мар 2011, 18:55
Сообщения: 1967

Возраст: 30
Откуда: Волжский
Вероисповедание: Православный, МП
А для настройки этой админки буду потом EXE-файл создавать специальный.

_________________
Игорь Валерьевич вернул себе свой прежний ник Viv :)


 Профиль WWW  
 
 Заголовок сообщения: Re: Помогите дописать php-скрипт!
 Сообщение Добавлено: 04 июл 2011, 11:12 
я просто здесь живу :)
Аватар пользователя

Зарегистрирован: 16 мар 2011, 18:55
Сообщения: 1967

Возраст: 30
Откуда: Волжский
Вероисповедание: Православный, МП
Помню ещё примерно, как сделать так, чтобы в php отправить сообщение админу, как в форме обратной связи. А вот как сделать в php автоответчик, чтобы сообщение отправлялось обратно на E-mail посетителю?

_________________
Игорь Валерьевич вернул себе свой прежний ник Viv :)


 Профиль WWW  
 
 Заголовок сообщения: Re: Помогите дописать php-скрипт!
 Сообщение Добавлено: 05 июл 2011, 17:24 
я просто здесь живу :)
Аватар пользователя

Зарегистрирован: 16 мар 2011, 18:55
Сообщения: 1967

Возраст: 30
Откуда: Волжский
Вероисповедание: Православный, МП
Ну что, никто не знает, как такой скрипт в php сделать? (см. сообщение выше)

_________________
Игорь Валерьевич вернул себе свой прежний ник Viv :)


 Профиль WWW  
 
Показать сообщения за:  Сортировать по:  
 
Начать новую тему Ответить на тему  [ Сообщений: 49 ]  На страницу Пред.  1, 2

Информация о пользователях форума

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18

 
 

 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти: