Funzione clearstatcache

La funzione clearstatcache pulisce la cache che memorizza le informazioni sullo stato dei file. PHP memorizza nella cache i risultati delle funzioni di lavoro con i file, come filesize, filemtime e altre. Questa funzione è utile quando è necessario ottenere dati aggiornati su un file che potrebbe essere cambiato durante l'esecuzione dello script.

Sintassi

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

Esempio

Esempio più semplice di utilizzo della funzione senza parametri:

php<?php
  clearstatcache();
  echo 'Cache file pulita';
?>

Risultato dell'esecuzione del codice:

php'Cache file pulita'

Esempio

Esempio con pulizia della cache per un file specifico:

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

Risultato dell'esecuzione del codice:

php'Cache pulita per il file: test.txt'

Esempio

Esempio pratico con ottenimento della dimensione del file:

php<?php
  $file = 'data.txt';
  
  // Primo ottenimento della dimensione
  $size1 = filesize($file);
  
  // Modifichiamo il file (in codice reale il file potrebbe essere stato modificato da un altro processo)
  file_put_contents($file, 'new content', FILE_APPEND);
  
  // Secondo ottenimento della dimensione senza pulire la cache
  $size2 = filesize($file);
  
  // Puliamo la cache e otteniamo la dimensione aggiornata
  clearstatcache(true, $file);
  $size3 = filesize($file);
  
  echo "Size1: $size1, Size2: $size2, Size3: $size3";
?>

Risultato dell'esecuzione del codice:

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

Vedi anche

  • la funzione file_exists,
    che verifica l'esistenza di un file
  • la funzione filesize,
    che restituisce la dimensione del file
  • la funzione filemtime,
    che restituisce l'ora di modifica