Função clearstatcache() do PHP

Definição e Uso

A função clearstatcache() limpa o cache do estado do arquivo.

A função clearstatcache() cacheia certas informações de retorno de funções para fornecer maior desempenho. Mas às vezes, por exemplo, quando um arquivo é verificado várias vezes em um script e há risco de que o arquivo seja excluído ou modificado durante a execução do script, você precisa limpar o cache do estado do arquivo para obter resultados corretos. Para fazer isso, você precisa usar a função clearstatcache().

Funções que realizam cache, ou seja, funções afetadas pela função clearstatcache():

  • stat()
  • lstat()
  • file_exists()
  • is_writable()
  • is_readable()
  • is_executable()
  • is_file()
  • is_dir()
  • is_link()
  • filectime()
  • fileatime()
  • filemtime()
  • fileinode()
  • filegroup()
  • fileowner()
  • filesize()
  • filetype()
  • fileperms()

Sintaxe

clearstatcache()

Exemplo

<?php
//Verificar tamanho do arquivo
echo filesize("test.txt");
$file = fopen("test.txt", "a+");
//Cortar arquivo
ftruncate($file,100);
fclose($file);
//Limpar o cache e verificar novamente o tamanho do arquivo
clearstatcache();
echo filesize("test.txt");
?>

Saída:

792
100