clearstatcache
(PHP 4, PHP 5, PHP 7, PHP 8)
clearstatcache — Limpa o cache de estado de arquivos
Descrição
Deve-se notar também que o PHP não guarda informação em cache sobre arquivos
não existente. Assim, a função file_exists() for chamada em um arquivo que
não existe, ela retornará false
até que o arquivo seja criado. Se o arquivo
for criado, ela retornará true
mesmo que o arquivo seja removido.
Entretanto, a função unlink() limpa o cache automaticamente.
Nota:
Esta função guarda infomações em cache sobre nomes de arquivos específicos, de forma que somente
será necessário chamar clearstatcache() se estão sendo realizadas
várias operações sobre o mesmo nome de arquivo e seja necessário que a informação
sobre esse arquivo em particular não seja armazenada em cache.
As funções afetadas incluem stat(),
lstat(),
file_exists(),
is_writable(),
is_readable(),
is_executable(),
is_file(),
is_dir(),
is_link(),
filectime(),
fileatime(),
filemtime(),
fileinode(),
filegroup(),
fileowner(),
filesize(),
filetype(), e
fileperms().
Parâmetros
clear_realpath_cache
-
Se deve-se também limpar o cache de caminho real.
filename
-
Limpa o cache de caminho real para um arquivo específico somente; apenas
usado se clear_realpath_cache
for true
.
Valor Retornado
Nenhum valor é retornado.
Exemplos
Exemplo #1 Exemplo de clearstatcache()
<?php
$file = 'output_log.txt';
function get_owner($file)
{
$stat = stat($file);
$user = posix_getpwuid($stat['uid']);
return $user['name'];
}
$format = "UID @ %s: %s\n";
printf($format, date('r'), get_owner($file));
chown($file, 'ross');
printf($format, date('r'), get_owner($file));
clearstatcache();
printf($format, date('r'), get_owner($file));
?>
O exemplo acima produzirá
algo semelhante a:
UID @ Sun, 12 Oct 2008 20:48:28 +0100: root
UID @ Sun, 12 Oct 2008 20:48:28 +0100: root
UID @ Sun, 12 Oct 2008 20:48:28 +0100: ross