Funksjonen clearstatcache

Funksjonen clearstatcache tømmer bufferen som lagrer informasjon om filstatus. PHP bufrer resultatene fra filhåndteringsfunksjoner som filesize, filemtime og andre. Denne funksjonen er nyttig når du trenger å få tak i oppdaterte data om en fil som kan ha blitt endret under skriptkjøringen.

Syntaks

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

Eksempel

Et enkelt eksempel på bruk av funksjonen uten parametere:

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

Resultat av kjøring:

php'File cache cleared'

Eksempel

Eksempel med tilbakestilling av buffer for en spesifikk fil:

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

Resultat av kjøring:

php'Cache cleared for file: test.txt'

Eksempel

Et praktisk eksempel med henting av filstørrelse:

php<?php
  $file = 'data.txt';
  
  // Første henting av størrelse
  $size1 = filesize($file);
  
  // Endrer filen (i ekte kode kunne filen blitt endret av en annen prosess)
  file_put_contents($file, 'new content', FILE_APPEND);
  
  // Andre henting av størrelse uten å tømme bufferen
  $size2 = filesize($file);
  
  // Tømmer bufferen og henter oppdatert størrelse
  clearstatcache(true, $file);
  $size3 = filesize($file);
  
  echo "Size1: $size1, Size2: $size2, Size3: $size3";
?>

Resultat av kjøring:

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

Se også

  • funksjonen file_exists,
    som sjekker om en fil eksisterer
  • funksjonen filesize,
    som returnerer filstørrelsen
  • funksjonen filemtime,
    som returnerer endringstidspunktet