Статьи Галерея Форум Чат Файлы HowTo Ссылки Поиск
Текущее время: 14 дек 2019, 02:17




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Вопрос по php4: "Запись в файл"
СообщениеДобавлено: 27 янв 2004, 18:35 
Значит так. Есть скрипт который записывает сообщения в текстовый файл.
Но он записывает сообщения сверху вниз.

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


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


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 28 янв 2004, 02:32 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 12.09.2002
Сообщения: 395
Откуда: Минск
Читай документацию.

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 
Вещьдоки почитал, нашел кое чего, но.. r+ спрва обнуляет файл, а потом пишет в него.. с w и w+ ситуация такая же... а как бы без обнуления? или никак? :?


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 30 янв 2004, 01:21 
Неотъемлемая часть форума

У нас с: 12.08.2003
Сообщения: 250
Вставить текст в начало файла автоматически не выйдет.
Сделай новый файл. Запиши в него новую запись. Потом
допиши старый. И атомарно через rename замени старый
файл на новый.

П.С. А зачем вставлять данные в начало ?


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 30 янв 2004, 08:49 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 06.02.2002
Сообщения: 9760
Откуда: Менск
Может я что-то путаю и работать не будет, но на perl я бв сделал так:


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

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

_________________
Опыт растет прямо пропорционально выведенному из строя оборудованию


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 08 июн 2004, 07:17 
Заглянувший
Аватара пользователя

У нас с: 06.06.2004
Сообщения: 10
Откуда: Минск
Вот лови ->
Все режимы работы с файлами:
r - только чтение.
r+ - чтение и запись, данные записываются в начало файла поверх уже имеющихся там.
w - только запись. Существующее содержимое файла уничтожается. Если файл не существует, то он создается.
w+ - аналогично w, но также возможно чтение файла.
a - только запись, данные дописываются в конец файла, если файл не существует, то он создается.
a+ - аналогично a, но также чтение файла.


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 08 июн 2004, 10:42 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 28.11.2003
Сообщения: 507
Откуда: Pardubice, CZ
Llama писал(а):
Может я что-то путаю и работать не будет, но на perl я бв сделал так:

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



Совсем плохо. Если б у меня какой-нибудь юзер так начал чудить - убил бы без предупреждения. И кто вас учил пихать в память целые файлы ради такой глупости? В курсе, каким образом так тривиальный процесс будет жрать память? Файл, совершенно спокойно может быть и несколькогиговый... Жужжим, пердим, наполняем swap и падаем :)

_________________
Linux is like a wigwam: no Windows, no Gates and Apache inside.


Вернуться к началу
 Не в сети Профиль Личный альбом  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 08 июн 2004, 10:46 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 28.11.2003
Сообщения: 507
Откуда: Pardubice, CZ
Aleksey Kondratenko писал(а):
П.С. А зачем вставлять данные в начало ?


Перед тем, как научится использовать для хранения данных, которые бы могли быть структурироыванными, базы данных, каждый экспериментирует с текстовыми файлами. Имея при этом большие или меньшие проблемы и изобретая лестничный велосипед там, где где ездит лифт. В начало файла вставляется запись при написании первого guestbook, чтобы последние записи были наверху :) Могу поспорить на литр пива, что пишется кусок html :)

Hello world!

_________________
Linux is like a wigwam: no Windows, no Gates and Apache inside.


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



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


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 19 июн 2004, 22:02 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 15.03.2004
Сообщения: 308
Andrej Ramaszeuski писал(а):
Aleksey Kondratenko писал(а):
П.С. А зачем вставлять данные в начало ?


Перед тем, как научится использовать для хранения данных, которые бы могли быть структурироыванными, базы данных, каждый экспериментирует с текстовыми файлами. Имея при этом большие или меньшие проблемы и изобретая лестничный велосипед там, где где ездит лифт. В начало файла вставляется запись при написании первого guestbook, чтобы последние записи были наверху :) Могу поспорить на литр пива, что пишется кусок html :)

Hello world!


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


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 20 июн 2004, 14:48 
Даже удивляюсь уважаемые, что вы решили поднять эту тему :D. С тех пор я уже даже успел полюбить Perl :D

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

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

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

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


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 21 июн 2004, 14:53 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 15.03.2004
Сообщения: 308
user, дык ANSI SQL же совсем простой!!!


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 05 июл 2004, 00:17 
user писал(а):
Dr.Gigabit,
Просто внимательнее перечитай первый пост ;)


Задача не самая тривиальная, и при написания гостевухи от файлов лучше отказаться на мой взгляд. Ибо встает вопрос о совместном доступе:)


Вернуться к началу
  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
[ All resources are available under GNU GPL ] [ Support ] [ Hosted by DataHata | MyCloud.by ] [ Powered by phpBB® Forum Software © phpBB Group ]

LVEE Winter LVEE Rambler's Top100