Доброго всем времени суток в сети на эту тему много материала но что то не доходит. Помогите записать в фаил строчку.Вот собственно мой старый скрипт переделываю а форму ввода прикрутить не могу,темный лес ))) Код (Text): <?php # Читаем файл построчно. foreach(file('12345.txt') as $msg) { # Разбить строку по двоеточию в массив. $ex=explode(':',$m); # отрезал дату $w=substr("$ex[1]",0,10); # отрезал икс $z=substr("$ex[4]",5); # Выводим из массива. echo "<font color='teal'><b>$w</b></font>_$z<br>"; } # удаление нужной строки $fileName="12345.txt"; $lineToKill=31; $stringsArray=file($fileName); if($lineToKill <= count($stringsArray)) { $fileHandle = fopen($fileName, "w"); $lineToKill--; foreach($stringsArray as $key => $value) { if($key != $lineToKill) fwrite($fileHandle, $value); } fclose($fileHandle); } ?> и есть ли необходимость форму и скрипт в разных папках размещать??
это второй кусок скрипта в первом file_put_contents всегда им пользовался Добавлено спустя 2 минуты 32 секунды: да скрипт отличный нареканий не было,сейчас решил переделать а в формах так в свое время и не разобрался надо форму которая будет записывать в фаил тхт строку а скрипт уже выстраивает это фаил как мне надо , форму кароче надо Добавлено спустя 2 минуты 39 секунд: <? $msid = $_GET['s']; $date=$_GET['date']; $m=$_GET['m']; $user_id=$_GET['user_id']; $ran=$_GET['ran']; $num=$_GET['num']; $country_id=$_GET['country_id']; #ответ echo "s:$s\n"; echo "status:reply\n"; echo "\n"; echo "Administraciya \n"; #записываю в фаил file_put_contents('1EE.txt',"$s.':$date.':$m:$user_id\r\n".file_get_contents('1EE.txt')); ?> <?php # Читаем файл построчно. foreach(file('1EE.txt') as $m) { # Разбить строку по двоеточию в массив. $ex=explode(':',$m); # отрезал дату $w=substr("$ex[1]",0,10); # Выводим из массива. echo "<font color='teal'><b>$w</b></font>_$z<br>"; } # удаление нужной строки $fileName="1EE.txt"; $lineToKill=31; $stringsArray=file($fileName); if($lineToKill <= count($stringsArray)) { $fileHandle = fopen($fileName, "w"); $lineToKill--; foreach($stringsArray as $key => $value) { if($key != $lineToKill) fwrite($fileHandle, $value); } fclose($fileHandle); } ?> Добавлено спустя 1 минуту 19 секунд: смотрел готовые скрипты но так и не понял как отправить текст из формы в фаил, Добавлено спустя 33 минуты 38 секунд: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Данные формы</title> </head> <body> <form action="index.php"> <p><input name="msg"></p> <p><input type="submit"></p> </form> Код (Text): <? $msg=$_GET['msg']; #записываю в фаил file_put_contents('1EE.txt',"$msg\r\n".file_get_contents('1EE.txt')); # Читаем файл построчно. foreach(file('1EE.txt') as $msg) { # Разбить строку по двоеточию в массив. $ex=explode(':',$msg); # Выводим из массива. echo "<font color='teal'><b>$msg</b></font><br>"; } # удаление нужной строки $fileName="1EE.txt"; $lineToKill=31; $stringsArray=file($fileName); if($lineToKill <= count($stringsArray)) { $fileHandle = fopen($fileName, "w"); $lineToKill--; foreach($stringsArray as $key => $value) { if($key != $lineToKill) fwrite($fileHandle, $value); } fclose($fileHandle); } ?> </body> </html> получилось это но проблема при обновлении странички предыдущая запись записывается заново Добавлено спустя 4 минуты 13 секунд: ау народ помогите
что это за ужас ? описание читал ? http://php.ru/manual/function.file-put-contents.html file_put_contents($file, $person, FILE_APPEND | LOCK_EX); т.е. file_put_contents('1EE.txt', "$msg\r\n", FILE_APPEND | LOCK_EX);
Как же меня достали эти псевдо научные исследования производительности((( Код (Text): Откуда потеря? file_put_contents например сначала определяет файл это или что-то другое(урл итп), далее передают в обертку путь к файлу и контент, обертка открывает файл и устанавливает коретку на 0, далее пишет инфу в файл. + ко всему у меня файл открывается всего 1 раз(за исключением варианта с fputs($f=fopen($c='file.txt',"c+"),($a=file_get_contents($c))+print $a);) Во первых еще не известно в какой тестовой среде проводились исследования, может он вообще был бухой? Лично мое мнение надо смотреть как на низком уровне все реализованно, а не строить предположения исходя из описания функций. Ну да предположим эфопен быстрее. Но если допустим надо 10 раз записать в файл, ну будет какой то не значительный прирост который никто не заметит.Кому нах нужен эфопен? С file_put_contents удобней работать.
ау ))) народ а мне то как быть ))) пытался редиректить но что то ни чего хорошего не получилось,как победить подскажите??
Так устроен этот жестокий мир. В пхп скрипте перенаправляй на другую страницу header или заноси в файл ajax-ом.
Вот скрипт редактора с паролем Для того что бы работало надо создать на сервере файл pasw.pas и записать в него пароль закодированный способом base64_EnCode и поставить chmod 770 Код (Text): <form action="index.php" name="myform" method="post"> <input type="text" name="mytext" size="50"> <form action="index.php" name="fail" method="post"> <input type="text" name="fail" size="50"> <form action="index.php" name="open" method="post"> <input type="text" name="open" size="50"> <input name="Submit" type=submit value="Отправить"> </form> <?php $text = $_POST['mytext'];// Получаем пароль $pas = file_get_contents("pasw.pas"); $pa = base64_decode( $pas ); //И проверим совпадает ли он. if($text == $pa){ $tex1 = $_POST['fail'];//Если да то проверяем поля имя файла и текста $tex = $_POST['open']; $fp = fopen( "$tex1" , "a"); $mytext = "$tex" ; $test = fwrite($fp, $mytext); //Записываем текст в файл if ($test) { echo 'Данные в файл успешно занесены'; }else{ echo 'Ошибка при записи в файл'; } fclose($fp); } ?>
Php_Yhinik, Код (PHP): <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <title>Сменить пароль</title> </head> <body><?php if ( empty($_POST['password']) == false && empty($_POST['new_password']) == false ) { $pwd_file = 'pwd.pas'; $password = file_get_contents($pwd_file); $new_password = base64_encode($_POST['new_password']); if ( $password && $password == base64_encode($_POST['password']) ) { $write = file_put_contents($pwd_file, $new_password); if ($write === false) { echo "Error writing to file: ".$pwd_file; } else { echo "Success."; chmod($pwd_file, 0755); } } else { echo "Password does not match the confirm password."; } } ?> <form method="post" action="?"> <p><b>Текущий пароль:</b><br> <input type="password" name="password" size="40"> </p> <p><b>Новый пароль:</b><br> <input type="password" name="new_password" size="40"> </p> <p><input type="submit" value="Изменить пароль"> <input type="reset"></p> </form> </body> </html>