Função clearstatcache

A função clearstatcache limpa o cache que armazena informações sobre o status dos arquivos. O PHP armazena em cache os resultados de funções de manipulação de arquivos, como filesize, filemtime e outras. Esta função é útil quando você precisa obter dados atualizados sobre um arquivo que pode ter sido alterado durante a execução do script.

Sintaxe

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

Exemplo

Exemplo mais simples de uso da função sem parâmetros:

php<?php
  clearstatcache();
  echo 'Cache de arquivo limpo';
?>

Resultado da execução do código:

php'Cache de arquivo limpo'

Exemplo

Exemplo com limpeza de cache para um arquivo específico:

php<?php
  $file = 'test.txt';
  clearstatcache(true, $file);
  echo 'Cache limpo para o arquivo: ' . $file;
?>

Resultado da execução do código:

php'Cache limpo para o arquivo: test.txt'

Exemplo

Exemplo prático com obtenção do tamanho do arquivo:

php<?php
  $file = 'data.txt';
  
  // Primeira obtenção do tamanho
  $size1 = filesize($file);
  
  // Alteramos o arquivo (em código real o arquivo pode ter sido alterado por outro processo)
  file_put_contents($file, 'novo conteúdo', FILE_APPEND);
  
  // Segunda obtenção do tamanho sem limpar o cache
  $size2 = filesize($file);
  
  // Limpamos o cache e obtemos o tamanho atual
  clearstatcache(true, $file);
  $size3 = filesize($file);
  
  echo "Size1: $size1, Size2: $size2, Size3: $size3";
?>

Resultado da execução do código:

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

Veja também

  • a função file_exists,
    que verifica a existência de um arquivo
  • a função filesize,
    que retorna o tamanho do arquivo
  • a função filemtime,
    que retorna o tempo de modificação