Функција 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,
    која го враќа времето на промена