Funktionen clearstatcache

Funktionen clearstatcache rensar cachen som lagrar information om filers status. PHP cachar resultaten från filhanteringsfunktioner som filesize, filemtime och andra. Denna funktion är användbar när du behöver få aktuell data om en fil som kan ha ändrats under skriptets körning.

Syntax

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

Exempel

Ett enkelt exempel på användning av funktionen utan parametrar:

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

Resultat av kodkörning:

php'File cache cleared'

Exempel

Exempel med rensning av cache för en specifik fil:

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

Resultat av kodkörning:

php'Cache cleared for file: test.txt'

Exempel

Ett praktiskt exempel med hämtning av filstorlek:

php<?php
  $file = 'data.txt';
  
  // Första hämtningen av storlek
  $size1 = filesize($file);
  
  // Ändrar filen (i verklig kod kan filen ha ändrats av en annan process)
  file_put_contents($file, 'new content', FILE_APPEND);
  
  // Andra hämtningen av storlek utan att rensa cachen
  $size2 = filesize($file);
  
  // Rensar cachen och hämtar aktuell storlek
  clearstatcache(true, $file);
  $size3 = filesize($file);
  
  echo "Size1: $size1, Size2: $size2, Size3: $size3";
?>

Resultat av kodkörning:

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

Se även

  • funktionen file_exists,
    som kontrollerar om en fil finns
  • funktionen filesize,
    som returnerar filstorlek
  • funktionen filemtime,
    som returnerar ändringstid