Функция clearstatcache
Функция clearstatcache
очищает кеш, который хранит информацию о состоянии файлов. PHP кеширует результаты функций работы с файлами, таких как filesize
, filemtime
и других. Эта функция полезна, когда вам нужно получить актуальные данные о файле, который мог измениться во время выполнения скрипта.
Синтаксис
clearstatcache([bool $clear_realpath_cache = false], [string $filename = null]);
Пример
Простейший пример использования функции без параметров:
<?php
clearstatcache();
echo 'File cache cleared';
?>
Результат выполнения кода:
'File cache cleared'
Пример
Пример с очисткой кеша для конкретного файла:
<?php
$file = 'test.txt';
clearstatcache(true, $file);
echo 'Cache cleared for file: ' . $file;
?>
Результат выполнения кода:
'Cache cleared for file: test.txt'
Пример
Практический пример с получением размера файла:
<?php
$file = 'data.txt';
// Первое получение размера
$size1 = filesize($file);
// Изменяем файл (в реальном коде файл мог быть изменен другим процессом)
file_put_contents($file, 'new content', FILE_APPEND);
// Второе получение размера без очистки кеша
$size2 = filesize($file);
// Очищаем кеш и получаем актуальный размер
clearstatcache(true, $file);
$size3 = filesize($file);
echo "Size1: $size1, Size2: $size2, Size3: $size3";
?>
Результат выполнения кода:
'Size1: 10, Size2: 10, Size3: 20'
Смотрите также
-
функцию
file_exists
,
которая проверяет существование файла -
функцию
filesize
,
которая возвращает размер файла -
функцию
filemtime
,
которая возвращает время изменения