Forum Webscript.Ru

Программирование => PHP => Тема начата: tarya от 03 Апреля 2002, 14:29:22

Название: запись данных в файл или - помогите!
Отправлено: tarya от 03 Апреля 2002, 14:29:22
только начинаю осваивать ПХП и вот решил по старой своей задумке сделать для себя своего рода дневник.
сделал все, почитываю книгу по ПХП и пишу. написал как мне кажется все правильно. все работает отлично. но тут заминка оказалась.
данные для записи в файл берутся у меня из формы в которой всего 2 поля.    эти данные как к примеру $field1    $field2   вставляются в функцию котора я записывает все в конце концов в файл.  оказалось если в форме я нажимал "enter" для начала новой строки то данные так же записывались в файл базы тоже с новых строчек а не в одну как мне это по скрипту который потом считывает все это по ячейкам таблицы. а еще я заметил если я ставлю для записи "r+"  то новые данные залязят на старые хотя у меня стоит в конце "\\n".   подскажите пожалуста.
Название: запись данных в файл
Отправлено: AlieN от 03 Апреля 2002, 15:32:59
если тебе нужно чтобы каждая записаь была с новой строчки в виндах то в конце строки должно быть
\\r\\n
если под юних - \\n
если ваще все записи в одну строчку - rtrim($field1);rtrim($field2);
Название: запись данных в файл
Отправлено: tarya от 03 Апреля 2002, 16:08:20
слыш родимый, у меня юних, вот смотри. ... то что я ввожу в textarea в форме и ввожу "enter" что
то
типа
того
делаю, то данные так и записываются в файл. а потом прочесть не не какой возможности.....

помоги

не врублюсь я как то что ты написал прикрутить.

попробовал сделать

$textt = rtrim ($text);
   $coments = "$main|$date|$textt\\n";
    $save = fopen ("docs/data.txt", "r+") or die ("Файл небыл открыт");
   fwrite ($save, $coments) or die ("Файл небыл записан");


именно $text это и есть текстовое поле в котором то что записано не одной строкой не как не запишется в одну строчку..
Название: запись данных в файл
Отправлено: Britva от 03 Апреля 2002, 16:10:30
Цитировать
save = fopen ("docs/data.txt", "r+")

$save = fopen ("docs/data.txt", "a+")

при r - нельзя записывать в файл
Название: запись данных в файл
Отправлено: Britva от 03 Апреля 2002, 16:11:36
Цитировать
именно $text это и есть текстовое поле в котором то что записано не одной строкой не как не запишется в одну строчку..

сделай $text = str_replace("\\n", "
", $text);
Название: запись данных в файл
Отправлено: tarya от 03 Апреля 2002, 16:19:37
ребята, во класс, получило, и все записывается в одну строку, а как жн мне теперь сделать что б последняя запись была не снизу а сверху?  если можете конечно подсказать
Название: запись данных в файл
Отправлено: ERROR 404 от 03 Апреля 2002, 16:27:40
Cделай обратную сортировку массива.
Название: запись данных в файл
Отправлено: tarya от 03 Апреля 2002, 16:30:41
Цитировать
сделай $text = str_replace("\\n", "
", $text);


вот это я писал уже но видимо вся заменка была в r+  и  a+


пока как теперь сделать чтоб то что я записал в конце вываливало наверх первым, как новости на новостных сайтах
Название: запись данных в файл
Отправлено: tarya от 03 Апреля 2002, 16:33:13
я все написал для сортировки:

$data = fopen("docs/data.txt", "r") or die ("Файл ($data) небыл открыт");
while (! feof ($data)):
   $event = fgets($data, 4096);
   $event_info = explode("|", $event);
   $date = "$event_info[1]";   
   print "\\n\\n\\n\\n\\n\\n
$event_info[0] $date
$event_info[2]
\\n

";
   endwhile;
fclose($data);
?>


как так понять делай обратную сортуровку?

помогите профану
Название: запись данных в файл
Отправлено: bhor от 03 Апреля 2002, 16:41:28
1.Считываешь файл.
2.Обнуляешь его.
3.Записываешь новые значения.
4.Записываешь считанные значения(1)
Название: запись данных в файл
Отправлено: Britva от 03 Апреля 2002, 17:13:06

$data = file("docs/data.txt");
$data = array_reverse($data);

for ($i=0;$i  $event_info = explode("|", $data[$i]);
  $date = $event_info[1];
  print "\\n\\n\\n\\n\\n\\n
$event_info[0] $date
$event_info[2]
\\n

";
}
?>
Название: запись данных в файл
Отправлено: tarya от 03 Апреля 2002, 17:27:15
слыш Бритва. не работает то что ты написал, так как файл еще небыл открыт и не считан,... или я что то не понимаю? но вставил в чистом виде и не робе. или поставить array_reverse после того как файло открыто?


спасибо за помощь
Название: запись данных в файл
Отправлено: Britva от 03 Апреля 2002, 17:41:01
Цитировать
так как файл еще небыл открыт и не считан,...

файл открыт и считан: file - http://ru.php.net/manual/ru/function.file.php
она читает весь файл в массив

а! и я еще ошибся - вместо while, нужен for :)))