clever
Код:
echo filesize('a.txt'); // Первый вывод - 0
$f = fopen('a.txt', 'a');
fwrite($f, 'Apple');
fclose($f);
echo filesize('a.txt'); // Второй вывод - 0
По сути во втором выводе должно быть число больше первого на 5 (длинна слова Apple), но первый и второй выводы равны.
Если убрать первый вывод, то второй покажет реальный размер файла.
Я так понял, что если хоть раз использовать в скрипте функцию filesize, то при последующих выполнениях этой функции она всегда будет возвращать значение первого ее запуска, какие бы вы не производили манипуляции с файлом. Будто ее значение кэшируется при первом запуске и остается на всем протяжении выполнения скрипта.
Heavy
читаем доки по filesize и в коментах видим -- Результаты этой функции кэшируются. Более подробную информацию смотрите в разделе clearstatcache().
clearstatcache -- Очищает кэш состояния файлов
xreload
clever писал:
Бл***, понамутили с функциями, что у каждой свои особенности... Зачем такое делать??
Реальная проблема не в PHP , а в том что ты не умеешь читать документацию.