Размер файла PHP не изменяется после добавления
У меня проблема с PHP-файлом I / O.
$file = fopen("/tmp/test.txt", "w");
fwrite($file,"hi theren");
fclose($file);
echo filesize("/tmp/test.txt")."n"; # displays 9
$file = fopen("/tmp/test.txt", "a");
fwrite($file,"hi theren");
fclose($file);
echo filesize("/tmp/test.txt")."n"; # also displays 9 !!!!!!!
Как видно, я изменяю размер файла после начальной записи, добавляя к нему. Почему я получаю 9, а размер файла в обоих случаях? Я ожидаю 18 в качестве выхода в случае 2.
1 ответов
вам нужно очистить кэш состояния файла, вызвав функцию clearstatcache до вы называете filesize()
снова после изменения файла:
// write into file.
// call filesize()
clearstatcache();
// append to the fiile.
// call filesize()
для того, чтобы получить лучшую производительность PHP кэширует результат filesize()
поэтому вам нужно сказать PHP, чтобы очистить этот кэш, прежде чем вызывать filesize()
снова в измененном файле.