Страница 1 из 1

Вопрос по php4: "Запись в файл"

Добавлено: 27 янв 2004, 18:35
Anonymous
Значит так. Есть скрипт который записывает сообщения в текстовый файл.
Но он записывает сообщения сверху вниз.

Вопрос: как подправить код так, что бы сообщения записывались одно над другим (т.е. каждое последующее дописывалось над предыдущим)?

Добавлено: 28 янв 2004, 00:32
Anonymous
Неужели никто php не знает?! вопрос-то ламерский... я еще только начал баловаться. :? Может еще чего надо пояснить :?:

Добавлено: 28 янв 2004, 02:32
invox
Читай документацию.

resource fopen(string $filename, string $mode [, int $use_include_path [, resource $zcontext]])

среди "list of possible modes for fopen() using mode" указан r+ - Open for reading and writing; place the file pointer at the beginning of the file.

Добавлено: 29 янв 2004, 18:18
Anonymous
Вещьдоки почитал, нашел кое чего, но.. r+ спрва обнуляет файл, а потом пишет в него.. с w и w+ ситуация такая же... а как бы без обнуления? или никак? :?

Добавлено: 30 янв 2004, 08:49
Llama
Может я что-то путаю и работать не будет, но на perl я бв сделал так:


@file = <INFILE>;
@file = ("stroka", @file);
close INFILE;
print OUTFILE, @file;

Смысл надеюсь ясен, как открывать файлы - сам додумаешься.

Добавлено: 08 июн 2004, 07:17
ZAR
Вот лови ->
Все режимы работы с файлами:
r - только чтение.
r+ - чтение и запись, данные записываются в начало файла поверх уже имеющихся там.
w - только запись. Существующее содержимое файла уничтожается. Если файл не существует, то он создается.
w+ - аналогично w, но также возможно чтение файла.
a - только запись, данные дописываются в конец файла, если файл не существует, то он создается.
a+ - аналогично a, но также чтение файла.

Добавлено: 08 июн 2004, 10:42
Andrej Ramaszeuski
Llama писал(а):Может я что-то путаю и работать не будет, но на perl я бв сделал так:

@file = <INFILE>;
@file = ("stroka", @file);
close INFILE;
print OUTFILE, @file;
Совсем плохо. Если б у меня какой-нибудь юзер так начал чудить - убил бы без предупреждения. И кто вас учил пихать в память целые файлы ради такой глупости? В курсе, каким образом так тривиальный процесс будет жрать память? Файл, совершенно спокойно может быть и несколькогиговый... Жужжим, пердим, наполняем swap и падаем :)

Добавлено: 08 июн 2004, 10:46
Andrej Ramaszeuski
Aleksey Kondratenko писал(а): П.С. А зачем вставлять данные в начало ?
Перед тем, как научится использовать для хранения данных, которые бы могли быть структурироыванными, базы данных, каждый экспериментирует с текстовыми файлами. Имея при этом большие или меньшие проблемы и изобретая лестничный велосипед там, где где ездит лифт. В начало файла вставляется запись при написании первого guestbook, чтобы последние записи были наверху :) Могу поспорить на литр пива, что пишется кусок html :)

Hello world!

Добавлено: 19 июн 2004, 21:31
Anonymous
user писал(а):Вещьдоки почитал, нашел кое чего, но.. r+ спрва обнуляет файл, а потом пишет в него.. с w и w+ ситуация такая же... а как бы без обнуления? или никак? :?

Возможно я чего-то недопонял, но по-моему, речь идет о дозаписи тектста в конец файла.
Просто открываешь его с ключом a+. Содержимое не стирается, информация доьбавляется в конец.

Добавлено: 19 июн 2004, 22:02
poligraph
Andrej Ramaszeuski писал(а):
Aleksey Kondratenko писал(а): П.С. А зачем вставлять данные в начало ?
Перед тем, как научится использовать для хранения данных, которые бы могли быть структурироыванными, базы данных, каждый экспериментирует с текстовыми файлами. Имея при этом большие или меньшие проблемы и изобретая лестничный велосипед там, где где ездит лифт. В начало файла вставляется запись при написании первого guestbook, чтобы последние записи были наверху :) Могу поспорить на литр пива, что пишется кусок html :)

Hello world!
Да, действительно! Пользуйтесь БД!!!!

Добавлено: 20 июн 2004, 14:48
Anonymous
Даже удивляюсь уважаемые, что вы решили поднять эту тему :D. С тех пор я уже даже успел полюбить Perl :D

Andrej Ramaszeuski,
Да, ты абсолютно прав, это были мои попытки сделать гостевую/ее_подобие так, что бы новые сообщения дописывались сверху :)

Dr.Gigabit,
Просто внимательнее перечитай первый пост ;)

poligraph,
>> Да, действительно! Пользуйтесь БД!!!!
К великому сожалению человек пишущий на PHP "Хеллоу ворлд", еще не на столько крут, что бы использовать БД :roll:

ps С Режимами работы с файлами я уже давно поковырялся -- того что нужно среди них нет.
pps Надо пробовать ковырять mySQL попутно что ли :drink: :)

Добавлено: 21 июн 2004, 14:53
poligraph
user, дык ANSI SQL же совсем простой!!!

Добавлено: 05 июл 2004, 00:17
Anonymous
user писал(а): Dr.Gigabit,
Просто внимательнее перечитай первый пост ;)
Задача не самая тривиальная, и при написания гостевухи от файлов лучше отказаться на мой взгляд. Ибо встает вопрос о совместном доступе:)