clearstatcache
(PHP 4, PHP 5, PHP 7, PHP 8)
clearstatcache — Efface le cache de stat()
Description
Il est à noter que PHP ne met pas en cache les informations concernant
un fichier inexistant. Si l'on appelle file_exists()
sur un fichier qui n'existe pas, la fonction retourne false
jusqu'à ce que l'on crée le fichier. Si l'on crée le fichier,
la fonction retourne true même si l'on efface le fichier.
Cependant, unlink() efface automatiquement le cache.
Note:
Cette fonction met en cache des informations sur les fichiers.
Il n'est donc nécessaire d'appeler clearstatcache() que
si l'on fait des opérations multiples sur le même fichier, et que l'on
souhaite avoir une version récente des informations.
Les fonctions affectées incluent :
stat(),
lstat(),
file_exists(),
is_writable(),
is_readable(),
is_executable(),
is_file(),
is_dir(),
is_link(),
filectime(),
fileatime(),
filemtime(),
fileinode(),
filegroup(),
fileowner(),
filesize(),
filetype(), et
fileperms().
Liste de paramètres
clear_realpath_cache
-
Si l'on doit aussi vider le cache des chemins réels.
filename
-
Nettoie le cache de chemin réel d'un fichier spécifique.
Ne peut être utilisé que si le paramètre
clear_realpath_cache vaut true.
Valeurs de retour
Aucune valeur n'est retournée.
Exemples
Exemple #1 Exemple avec 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));
?>
Résultat de l'exemple ci-dessus est similaire à :
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