Функцыя clearstatcache

Функцыя clearstatcache ачышчае кэш, які захоўвае інфармацыю аб стане файлаў. PHP кэшуе вынікі функцый работы з файламі, такіх як filesize, filemtime і іншых. Гэтая функцыя карысная, калі вам трэба атрымаць актуальныя даныя аб файле, які мог змяніцца падчас выканання скрыпта.

Сінтаксіс

phpclearstatcache([bool $clear_realpath_cache = false], [string $filename = null]);

Прыклад

Найпрасцейшы прыклад выкарыстання функцыі без параметраў:

php<?php
  clearstatcache();
  echo 'File cache cleared';
?>

Вынік выканання кода:

php'File cache cleared'

Прыклад

Прыклад з ачысткай кэша для канкрэтнага файла:

php<?php
  $file = 'test.txt';
  clearstatcache(true, $file);
  echo 'Cache cleared for file: ' . $file;
?>

Вынік выканання кода:

php'Cache cleared for file: test.txt'

Прыклад

Практычны прыклад з атрыманнем памеру файла:

php<?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";
?>

Вынік выканання кода:

php'Size1: 10, Size2: 10, Size3: 20'

Глядзіце таксама

  • функцыю file_exists,
    якая правярае існаванне файла
  • функцыю filesize,
    якая вяртае памер файла
  • функцыю filemtime,
    якая вяртае час змянення