|
|
Православный форум Доброе слово |
Никакое гнилое слово да не исходит из уст ваших, а только доброе для назидания в вере, дабы оно доставляло благодать слушающим (Еф.4:29) |
|
|
Автор |
Сообщение |
Kemsit
|
Заголовок сообщения: 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); ?> Вместо конкретных названий Ваших, уважаемый Игорь Валерьевич, файлов и переменных я позволил себе привести здесь альтернативные имена и адресации. Сопровождая всё комментариями. Внимательно их изучив, Вам не составит труда дописать свой код.
_________________ Меня зовут Сергей.
|
|
|
|
|
Viv
|
Заголовок сообщения: Re: Помогите дописать php-скрипт! Добавлено: 01 май 2011, 20:19 |
|
я просто здесь живу :) |
|
Зарегистрирован: 16 мар 2011, 18:55 Сообщения: 1967
Возраст: 30 Откуда: Волжский
Вероисповедание: Православный, МП
|
Спасибо! Я как-нибудь попробую.
_________________ Игорь Валерьевич вернул себе свой прежний ник Viv
|
|
|
|
|
Viv
|
Заголовок сообщения: Re: Помогите дописать php-скрипт! Добавлено: 02 май 2011, 09:32 |
|
я просто здесь живу :) |
|
Зарегистрирован: 16 мар 2011, 18:55 Сообщения: 1967
Возраст: 30 Откуда: Волжский
Вероисповедание: Православный, МП
|
витт писал(а): Игорь, после прочтения твоих топиков действительно возникает чувство, что отец тебя не научил элементарному уважению к другим людям! Виталий, я ещё раз повторюсь, у меня бывают такие резуие выражения, но других людей я уважаю! Резкие выражения - это ещё не первый признак неуважения, первый признак неуважения - это когда я уже слишком часто начну грубить людям, а то и потом начну обзываться! Уверен, что такого не будет.
_________________ Игорь Валерьевич вернул себе свой прежний ник Viv
|
|
|
|
|
Георгий_O
|
Заголовок сообщения: 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, несмотря на то, что такой курс у меня был. Не мой профиль, увы. Хотя язык крайне интересный. я всегда открыт для диалога только зачем Вам бейсик и чем же он интересен? если Вам си ближе, лучше обратите внимание на шарп я на бейсике сижу, только потому, что с самого начала его изучал - манера писания у меня уже бейсичная - все эти точки с запятой в конце строки... после шестого бейсика встал вопрос VB изучать, шарп или плюсы - всё пробовал, но именно из-за этой манеры писания на VB стал писать. жалею, что с самого начала стал учиться на бейсике, учился бы на паскале - сейчас бы на шарпе писал или на плюсах. хотя... VBA очень выручает
_________________ Простите меня, люди добрые Дай Вам Бог здоровья
|
|
|
|
|
Kemsit
|
Заголовок сообщения: Re: Помогите дописать php-скрипт! Добавлено: 02 май 2011, 23:05 |
|
я просто здесь живу :) |
|
Зарегистрирован: 10 янв 2009, 22:47 Сообщения: 1422
Возраст: 33
Вероисповедание: Православный, МП
|
Георгий_O писал(а): я всегда открыт для диалога только зачем Вам бейсик и чем же он интересен? если Вам си ближе, лучше обратите внимание на шарп я на бейсике сижу, только потому, что с самого начала его изучал - манера писания у меня уже бейсичная - все эти точки с запятой в конце строки... после шестого бейсика встал вопрос VB изучать, шарп или плюсы - всё пробовал, но именно из-за этой манеры писания на VB стал писать. жалею, что с самого начала стал учиться на бейсике, учился бы на паскале - сейчас бы на шарпе писал или на плюсах. хотя... VBA очень выручает Я как раз изначально, с класса 7, учился на Паскале. А теперь как раз в основном и работаю на C# и С++. Скажем, основное направление вузовской подготовки. На плюсах программирую 4 года, на шарпе уже два. Бейсик интересен для всестороннего развития. Его тоже можно качественно использовать. Большое желание есть ещё изучить яву и питон. Знакомы с ними?
_________________ Меня зовут Сергей.
|
|
|
|
|
Viv
|
Заголовок сообщения: Re: Помогите дописать php-скрипт! Добавлено: 03 май 2011, 05:43 |
|
я просто здесь живу :) |
|
Зарегистрирован: 16 мар 2011, 18:55 Сообщения: 1967
Возраст: 30 Откуда: Волжский
Вероисповедание: Православный, МП
|
Георгий_О писал(а): что делать если имя и е-майл уже содержится в файле вот эту фразу "Если да, то остальные переменные в txt-файле должны быть под именем и E-mail адресом пользователя" я не понял То есть, если пользователь вводит в адресную строку такие же имя и E-mail, а данные о программе (ID, стимость и т.д.) совсем другие, то данные должны уже добавляться ПОД именем и E-mail'ом пользователя. В самом TXT-файле для каждого пользователя своя, так сказать, колонка. В одной колонке помещаются записи о программах одного пользователя, в другой - другого. Георгий_О писал(а): код полностью рабочий - проверен А как Вы его проверяли? Через Денвер? Я как-то ставил себе последнюю версию Денвера, а у меня после этого Интернет перестал работать, пришлось удалить Денвер. Как его поставить по-нормальному, чтобы Интернет работал как следует
_________________ Игорь Валерьевич вернул себе свой прежний ник Viv
|
|
|
|
|
Георгий_O
|
Заголовок сообщения: 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 писал(а): Большое желание есть ещё изучить яву и питон. Знакомы с ними? нет
_________________ Простите меня, люди добрые Дай Вам Бог здоровья
|
|
|
|
|
Viv
|
Заголовок сообщения: Re: Помогите дописать php-скрипт! Добавлено: 03 май 2011, 21:31 |
|
я просто здесь живу :) |
|
Зарегистрирован: 16 мар 2011, 18:55 Сообщения: 1967
Возраст: 30 Откуда: Волжский
Вероисповедание: Православный, МП
|
Георгий_О писал(а): я проверял с помощью topserver 2.1 А это сервер такой, или что? Попробую поставить.
_________________ Игорь Валерьевич вернул себе свой прежний ник Viv
|
|
|
|
|
Георгий_O
|
Заголовок сообщения: 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. закрыть файл
_________________ Простите меня, люди добрые Дай Вам Бог здоровья
|
|
|
|
|
Viv
|
Заголовок сообщения: Re: Помогите дописать php-скрипт! Добавлено: 04 май 2011, 06:02 |
|
я просто здесь живу :) |
|
Зарегистрирован: 16 мар 2011, 18:55 Сообщения: 1967
Возраст: 30 Откуда: Волжский
Вероисповедание: Православный, МП
|
А что это за переменная $arr2? У меня в скрипте вроде нет такой переменной.
_________________ Игорь Валерьевич вернул себе свой прежний ник Viv
|
|
|
|
|
Георгий_O
|
Заголовок сообщения: Re: Помогите дописать php-скрипт! Добавлено: 04 май 2011, 11:27 |
|
мне тут понравилось |
|
Зарегистрирован: 22 фев 2010, 14:45 Сообщения: 433
Возраст: 46 Откуда: Череповец
Вероисповедание: Православный, МП
|
в середину файла записать строку нельзя, поэтому мы сначала считываем файл в переменную arr, потом преобразуем её в переменную arr2 с добавление в середину нужных данных и потом переменную arr2 записываем в файл
_________________ Простите меня, люди добрые Дай Вам Бог здоровья
|
|
|
|
|
Viv
|
Заголовок сообщения: Re: Помогите дописать php-скрипт! Добавлено: 04 май 2011, 15:24 |
|
я просто здесь живу :) |
|
Зарегистрирован: 16 мар 2011, 18:55 Сообщения: 1967
Возраст: 30 Откуда: Волжский
Вероисповедание: Православный, МП
|
Всё понятно. Надо подумать над этим и попробовать.
_________________ Игорь Валерьевич вернул себе свой прежний ник Viv
|
|
|
|
|
Viv
|
Заголовок сообщения: 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
|
|
|
|
|
Viv
|
Заголовок сообщения: Re: Помогите дописать php-скрипт! Добавлено: 28 июн 2011, 14:57 |
|
я просто здесь живу :) |
|
Зарегистрирован: 16 мар 2011, 18:55 Сообщения: 1967
Возраст: 30 Откуда: Волжский
Вероисповедание: Православный, МП
|
_________________ Игорь Валерьевич вернул себе свой прежний ник Viv
|
|
|
|
|
Георгий_O
|
Заголовок сообщения: Re: Помогите дописать php-скрипт! Добавлено: 28 июн 2011, 17:21 |
|
мне тут понравилось |
|
Зарегистрирован: 22 фев 2010, 14:45 Сообщения: 433
Возраст: 46 Откуда: Череповец
Вероисповедание: Православный, МП
|
можно попробовать вместо fopen писать @fopen вместо fwrite писать @fwrite вместо fclose писать @fclose
_________________ Простите меня, люди добрые Дай Вам Бог здоровья
|
|
|
|
|
Viv
|
Заголовок сообщения: Re: Помогите дописать php-скрипт! Добавлено: 28 июн 2011, 18:23 |
|
я просто здесь живу :) |
|
Зарегистрирован: 16 мар 2011, 18:55 Сообщения: 1967
Возраст: 30 Откуда: Волжский
Вероисповедание: Православный, МП
|
Всё получилось, слава Богу! Переехал на другой хостинг. Он правда глючит немного, но скрипт работает в неизменном виде, и баннер не нужно ставить. Теперь на php пишу админку для управления ключами активации своих программ.
_________________ Игорь Валерьевич вернул себе свой прежний ник Viv
|
|
|
|
|
Viv
|
Заголовок сообщения: Re: Помогите дописать php-скрипт! Добавлено: 29 июн 2011, 10:33 |
|
я просто здесь живу :) |
|
Зарегистрирован: 16 мар 2011, 18:55 Сообщения: 1967
Возраст: 30 Откуда: Волжский
Вероисповедание: Православный, МП
|
А для настройки этой админки буду потом EXE-файл создавать специальный.
_________________ Игорь Валерьевич вернул себе свой прежний ник Viv
|
|
|
|
|
Viv
|
Заголовок сообщения: Re: Помогите дописать php-скрипт! Добавлено: 04 июл 2011, 11:12 |
|
я просто здесь живу :) |
|
Зарегистрирован: 16 мар 2011, 18:55 Сообщения: 1967
Возраст: 30 Откуда: Волжский
Вероисповедание: Православный, МП
|
Помню ещё примерно, как сделать так, чтобы в php отправить сообщение админу, как в форме обратной связи. А вот как сделать в php автоответчик, чтобы сообщение отправлялось обратно на E-mail посетителю?
_________________ Игорь Валерьевич вернул себе свой прежний ник Viv
|
|
|
|
|
Viv
|
Заголовок сообщения: Re: Помогите дописать php-скрипт! Добавлено: 05 июл 2011, 17:24 |
|
я просто здесь живу :) |
|
Зарегистрирован: 16 мар 2011, 18:55 Сообщения: 1967
Возраст: 30 Откуда: Волжский
Вероисповедание: Православный, МП
|
Ну что, никто не знает, как такой скрипт в php сделать? (см. сообщение выше)
_________________ Игорь Валерьевич вернул себе свой прежний ник Viv
|
|
|
|
|
|
Информация о пользователях форума
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16 |
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения
|
|
|