Странное поведения функции file_put_contents

programmer_2006

Новичок
Странное поведения функции file_put_contents

Использую эту функцию для записи в файл. Она ведет себя довольно странно.
Тестирую ее на простом цикле из 10000 элементов, в файл пишу $i.
1. Если указан параметр FILE_APPEND то цикл отрабатывает за несколько секунд, если параметр не указан, т.е. идет перезапись то цикл работает 55 сек.
2. Если наблюдать за файлом, то почему то, при записи данных его размер то 0 то нормальный (если идет перезапись). Из за этого возникла проблема у меня в задаче. Скрипт прервался в тот момент когда записаться в него нечего не успело (файл пустой).

В итоге в файл мне надо писать всего 5 строк, в которых инфа об операции, и если допустим скрипт не выполнился или прервался, я должен запустить его заново с того места на котором он прервался. Но при пустом файле мне нечего анализировать.

С чем может быть трабла? может лучше по простому сделать fopen fwrite fclose.
 

С.

Продвинутый новичок
И что же такого странного, что при перезаписи содержимого файла, он сначала обнуляется?
 

programmer_2006

Новичок
Может надо какой то определенный режим при открытии указать. С файлами слабо работал.
Думал о блокировке файла, но другой скрипт постоянно стучится для его чтения.

-~{}~ 30.05.09 13:24:

Странно, что обнуление довольно заметно. И на него легко попасть.

-~{}~ 30.05.09 13:31:

Кстати а насчет первого пункта какие предположения? Наверно файл остается открытым пока все данные не запишутся и только затем закрывается.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
а зачем тебе переписывать файл в цикле?
 
Сверху