Автор Тема: запись данных в файл или - помогите!  (Прочитано 4453 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн tarya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 370
  • +0/-0
  • 0
    • Просмотр профиля
только начинаю осваивать ПХП и вот решил по старой своей задумке сделать для себя своего рода дневник.
сделал все, почитываю книгу по ПХП и пишу. написал как мне кажется все правильно. все работает отлично. но тут заминка оказалась.
данные для записи в файл берутся у меня из формы в которой всего 2 поля.    эти данные как к примеру $field1    $field2   вставляются в функцию котора я записывает все в конце концов в файл.  оказалось если в форме я нажимал "enter" для начала новой строки то данные так же записывались в файл базы тоже с новых строчек а не в одну как мне это по скрипту который потом считывает все это по ячейкам таблицы. а еще я заметил если я ставлю для записи "r+"  то новые данные залязят на старые хотя у меня стоит в конце "\\n".   подскажите пожалуста.
Рожденный с понимающим, и гордо поднятым кулаком! Свидетель разреза запястья — он с ним!

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
запись данных в файл
« Ответ #1 : 03 Апреля 2002, 15:32:59 »
если тебе нужно чтобы каждая записаь была с новой строчки в виндах то в конце строки должно быть
\\r\\n
если под юних - \\n
если ваще все записи в одну строчку - rtrim($field1);rtrim($field2);
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн tarya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 370
  • +0/-0
  • 0
    • Просмотр профиля
запись данных в файл
« Ответ #2 : 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

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
запись данных в файл
« Ответ #3 : 03 Апреля 2002, 16:10:30 »
Цитировать
save = fopen ("docs/data.txt", "r+")

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

при r - нельзя записывать в файл
Евгений aka Razor,

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
запись данных в файл
« Ответ #4 : 03 Апреля 2002, 16:11:36 »
Цитировать
именно $text это и есть текстовое поле в котором то что записано не одной строкой не как не запишется в одну строчку..

сделай $text = str_replace("\\n", "
", $text);
Евгений aka Razor,

Оффлайн tarya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 370
  • +0/-0
  • 0
    • Просмотр профиля
запись данных в файл
« Ответ #5 : 03 Апреля 2002, 16:19:37 »
ребята, во класс, получило, и все записывается в одну строку, а как жн мне теперь сделать что б последняя запись была не снизу а сверху?  если можете конечно подсказать
Рожденный с понимающим, и гордо поднятым кулаком! Свидетель разреза запястья — он с ним!

Оффлайн ERROR 404

  • Злодей форума
  • Постоялец
  • ***
  • Сообщений: 153
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
запись данных в файл
« Ответ #6 : 03 Апреля 2002, 16:27:40 »
Cделай обратную сортировку массива.
Совсем не страшно, если вы хотите уйти от действительности - будет гораздо хуже, если действительность захочет уйти от вас.

Оффлайн tarya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 370
  • +0/-0
  • 0
    • Просмотр профиля
запись данных в файл
« Ответ #7 : 03 Апреля 2002, 16:30:41 »
Цитировать
сделай $text = str_replace("\\n", "
", $text);


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


пока как теперь сделать чтоб то что я записал в конце вываливало наверх первым, как новости на новостных сайтах
Рожденный с понимающим, и гордо поднятым кулаком! Свидетель разреза запястья — он с ним!

Оффлайн tarya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 370
  • +0/-0
  • 0
    • Просмотр профиля
запись данных в файл
« Ответ #8 : 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

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 767
  • +0/-0
  • 0
    • Просмотр профиля
запись данных в файл
« Ответ #9 : 03 Апреля 2002, 16:41:28 »
1.Считываешь файл.
2.Обнуляешь его.
3.Записываешь новые значения.
4.Записываешь считанные значения(1)

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
запись данных в файл
« Ответ #10 : 03 Апреля 2002, 17:13:06 »

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

for (
$i=0;$i<sizeof($data);$i++) {
  
$event_info explode("|"$data[$i]); 
  
$date $event_info[1]; 
  print 
"<table width=\\"500\\" border=\\"0\\" cellspacing=\\"1\\" bgcolor=\\"#000000\\" align=\\"center\\">\\n<tr><td background=\\"images/bg13.gif\\">$event_info[0] $date</td>\\n</tr>\\n<tr>\\n<td bgcolor=\\"#FFFFFF\\">$event_info[2]</td>\\n</tr>\\n</table>\\n

"; 
}
?> 
« Последнее редактирование: 03 Апреля 2002, 17:44:45 от Britva »
Евгений aka Razor,

Оффлайн tarya

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 370
  • +0/-0
  • 0
    • Просмотр профиля
запись данных в файл
« Ответ #11 : 03 Апреля 2002, 17:27:15 »
слыш Бритва. не работает то что ты написал, так как файл еще небыл открыт и не считан,... или я что то не понимаю? но вставил в чистом виде и не робе. или поставить array_reverse после того как файло открыто?


спасибо за помощь
Рожденный с понимающим, и гордо поднятым кулаком! Свидетель разреза запястья — он с ним!

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
запись данных в файл
« Ответ #12 : 03 Апреля 2002, 17:41:01 »
Цитировать
так как файл еще небыл открыт и не считан,...

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

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

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28