clearstatcache
(PHP 4, PHP 5, PHP 7, PHP 8)
clearstatcache — Limpia la caché de estado de un archivo
Descripción
clearstatcache(
bool $clear_realpath_cache
= false,
string $filename
= ?):
void
Debería observar también que PHP no examina información sobre archivos no
existentes. Por lo que si llama a file_exists() con un archivo que
no existe, se devolverá false
a menos que cree el archivo. Si crea
el archivo, se devolverá true
incluso si después borra el archivo.
Sin embargo unlink() limpia la caché automáticamente.
Nota:
Esta función examina la información sobre nombres de archivos específicos, por lo que sólo
necesita llamar a clearstatcache() si está llevando a cabo
múltiples operaciones sobre un mismo nombre de archivo y necesita que la información
sobre ese archivo en particular no sea examinada.
Las funciones afectadas incluyen stat(),
lstat(),
file_exists(),
is_writable(),
is_readable(),
is_executable(),
is_file(),
is_dir(),
is_link(),
filectime(),
fileatime(),
filemtime(),
fileinode(),
filegroup(),
fileowner(),
filesize(),
filetype(), y
fileperms().
Parámetros
clear_realpath_cache
-
Si se limpia la caché de la ruta real o no.
filename
-
Limpia la ruta real y la caché de estadísticas para un nombre de fichero específico; solamente
se usa si clear_realpath_cache
es true
.
Valores devueltos
No devuelve ningún valor.
Ejemplos
Ejemplo #1 Ejemplo de clearstatcache()
<?php
$archivo = 'output_log.txt';
function obtener_propietario($archivo)
{
$estadísticas = stat($archivo);
$usuario = posix_getpwuid($estadísticas['uid']);
return $usuario['name'];
}
$formato = "UID @ %s: %s\n";
printf($formato, date('r'), obtener_propietario($archivo));
chown($archivo, 'ross');
printf($formato, date('r'), obtener_propietario($archivo));
clearstatcache();
printf($formato, date('r'), obtener_propietario($archivo));
?>
El resultado del ejemplo
sería algo similar 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