Funkcia clearstatcache

Funkcia clearstatcache vyčistí vyrovnávaciu pamäť, ktorá ukladá informácie o stave súborov. PHP ukladá do vyrovnávacej pamäte výsledky funkcií pre prácu so súbormi, ako sú filesize, filemtime a ďalšie. Táto funkcia je užitočná, keď potrebujete získať aktuálne údaje o súbore, ktorý sa mohol zmeniť počas vykonávania skriptu.

Syntax

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

Príklad

Najjednoduchší príklad použitia funkcie bez parametrov:

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

Výsledok vykonania kódu:

php'File cache cleared'

Príklad

Príklad s vyčistením vyrovnávacej pamäte pre konkrétny súbor:

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

Výsledok vykonania kódu:

php'Cache cleared for file: test.txt'

Príklad

Praktický príklad so získavaním veľkosti súboru:

php<?php
  $file = 'data.txt';
  
  // Prvé získanie veľkosti
  $size1 = filesize($file);
  
  // Zmeníme súbor (v reálnom kóde súbor mohol byť zmenený iným procesom)
  file_put_contents($file, 'new content', FILE_APPEND);
  
  // Druhé získanie veľkosti bez vyčistenia vyrovnávacej pamäte
  $size2 = filesize($file);
  
  // Vyčistíme vyrovnávaciu pamäť a získame aktuálnu veľkosť
  clearstatcache(true, $file);
  $size3 = filesize($file);
  
  echo "Size1: $size1, Size2: $size2, Size3: $size3";
?>

Výsledok vykonania kódu:

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

Pozrite tiež

  • funkciu file_exists,
    ktorá kontroluje existenciu súboru
  • funkciu filesize,
    ktorá vráti veľkosť súboru
  • funkciu filemtime,
    ktorá vráti čas zmeny