Funkcja clearstatcache

Funkcja clearstatcache czyści pamięć podręczną, która przechowuje informacje o stanie plików. PHP buforuje wyniki funkcji pracy z plikami, takich jak filesize, filemtime i innych. Ta funkcja jest przydatna, gdy potrzebujesz uzyskać aktualne dane o pliku, który mógł ulec zmianie podczas wykonywania skryptu.

Składnia

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

Przykład

Najprostszy przykład użycia funkcji bez parametrów:

php<?php
  clearstatcache();
  echo 'Pamięć podręczna plików wyczyszczona';
?>

Wynik wykonania kodu:

php'Pamięć podręczna plików wyczyszczona'

Przykład

Przykład z czyszczeniem pamięci podręcznej dla konkretnego pliku:

php<?php
  $file = 'test.txt';
  clearstatcache(true, $file);
  echo 'Pamięć podręczna wyczyszczona dla pliku: ' . $file;
?>

Wynik wykonania kodu:

php'Pamięć podręczna wyczyszczona dla pliku: test.txt'

Przykład

Praktyczny przykład z pobieraniem rozmiaru pliku:

php<?php
  $file = 'data.txt';
  
  // Pierwsze pobranie rozmiaru
  $size1 = filesize($file);
  
  // Modyfikujemy plik (w rzeczywistym kodzie plik mógł zostać zmieniony przez inny proces)
  file_put_contents($file, 'new content', FILE_APPEND);
  
  // Drugie pobranie rozmiaru bez czyszczenia pamięci podręcznej
  $size2 = filesize($file);
  
  // Czyścimy pamięć podręczną i pobieramy aktualny rozmiar
  clearstatcache(true, $file);
  $size3 = filesize($file);
  
  echo "Size1: $size1, Size2: $size2, Size3: $size3";
?>

Wynik wykonania kodu:

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

Zobacz też

  • funkcję file_exists,
    która sprawdza istnienie pliku
  • funkcję filesize,
    która zwraca rozmiar pliku
  • funkcję filemtime,
    która zwraca czas modyfikacji