Forum Webscript.Ru

Программирование => PHP => Тема начата: Tronyx от 14 Мая 2002, 16:24:39

Название: После сохранения данных в файл он время от времени становится пустым
Отправлено: Tronyx от 14 Мая 2002, 16:24:39
Вот программа:
$array=file($file);
# Что-нибудь делаю с $array и потом если $array изменён то сохраняю его.
$fp= fopen ($file,"w");
flock($fp,3);
fwrite ($fp, join(\'\',$array));
fclose ($fp);
У меня проблема: иногда в этом файле появляется не то что мне нужно, может я не правильно сохраняю?
Название: После сохранения данных в файл он время от времени становится пустым
Отправлено: AlieN от 14 Мая 2002, 17:03:42
Что там ненужного появляется?

скорее всего
flock($fp,2);
Название: После сохранения данных в файл он время от времени становится пустым
Отправлено: Britva от 14 Мая 2002, 17:10:16
http://php.spb.ru/php/flock.html
Название: После сохранения данных в файл он время от времени становится пустым
Отправлено: Tronyx от 14 Мая 2002, 22:04:42
Вместо файла в 60 строк 1 строка с парой цифр!
Название: После сохранения данных в файл он время от времени становится пустым
Отправлено: Dm от 15 Мая 2002, 01:34:40
http://php.spb.ru/php/flock2.html
Цитировать

при работе с файлами никогда не используйте fopen(имя,"w"), т.к. операция открытия файла еще до блокировки производит удаление текста из файла. Только fopen(имя,"r+") с последующим ручным обнулением с помощью ftruncate(дескриптор,0);
Название: После сохранения данных в файл он время от времени становится пустым
Отправлено: Жук от 30 Января 2003, 01:26:43
Цитировать
Вот программа:
$array=file($file);
# Что-нибудь делаю с $array и потом если $array изменён то сохраняю его.
$fp= fopen ($file,"w");
flock($fp,3);
fwrite ($fp, join(\'\',$array));
fclose ($fp);
У меня проблема: иногда в этом файле появляется не то что мне нужно, может я не правильно сохраняю?

Цитировать
Вместо файла в 60 строк 1 строка с парой цифр!

Естественно, так как ты объединяешь массив по пустому символу вместо символа перевода строки. К тому же, как тебе подсказали, режим flock выставил неправильный.
Название: После сохранения данных в файл он время от времени становится пустым
Отправлено: Tronyx от 30 Января 2003, 08:48:01
Цитировать
Естественно, так как ты объединяешь массив по пустому символу вместо символа перевода строки.

Кстати это правильно, тут был только была ошибка с блокировкой. :)

Жук я не понимаю одного. Нафига ты отвечаешь на мои старые топики??? Даже на мои самые первые топики на этом форуме. Я тоже тебя недолюбливаю, но всё равно не вижу смысла. Или ты хочешь показать как ты "любитель помогать людям" отвечал на глупые вопросы модератора? Хочешь показать какой ты "вумный"??? Наверное не получается... да? Отвечай на нормальные вопросы, а не на ламерские, я вижу что ты отвечаешь на последние.