Funcția clearstatcache

Funcția clearstatcache curăță cache-ul care stochează informații despre starea fișierelor. PHP cachează rezultatele funcțiilor de lucru cu fișiere, cum ar fi filesize, filemtime și altele. Această funcție este utilă atunci când trebuie să obții date actualizate despre un fișier care s-ar putea să se fi modificat în timpul execuției scriptului.

Sintaxă

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

Exemplu

Un exemplu simplu de utilizare a funcției fără parametri:

php<?php
  clearstatcache();
  echo 'Cache-ul fișierelor a fost curățat';
?>

Rezultatul executării codului:

php'Cache-ul fișierelor a fost curățat'

Exemplu

Exemplu cu curățarea cache-ului pentru un fișier specific:

php<?php
  $file = 'test.txt';
  clearstatcache(true, $file);
  echo 'Cache-ul a fost curățat pentru fișierul: ' . $file;
?>

Rezultatul executării codului:

php'Cache-ul a fost curățat pentru fișierul: test.txt'

Exemplu

Exemplu practic cu obținerea dimensiunii fișierului:

php<?php
  $file = 'data.txt';
  
  // Prima obținere a dimensiunii
  $size1 = filesize($file);
  
  // Modificăm fișierul (în codul real fișierul ar fi putut fi modificat de un alt proces)
  file_put_contents($file, 'conținut nou', FILE_APPEND);
  
  // A doua obținere a dimensiunii fără curățarea cache-ului
  $size2 = filesize($file);
  
  // Curățăm cache-ul și obținem dimensiunea actuală
  clearstatcache(true, $file);
  $size3 = filesize($file);
  
  echo "Size1: $size1, Size2: $size2, Size3: $size3";
?>

Rezultatul executării codului:

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

Vezi și

  • funcția file_exists,
    care verifică existența fișierului
  • funcția filesize,
    care returnează dimensiunea fișierului
  • funcția filemtime,
    care returnează timpul de modificare