Функция 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,
която връща времето на промяна