PHP.nl

clearstatcache

clearstatcache

Clears file status cache

void **clearstatcache** bool $clear_realpath_cache string $filename

When you use , , or any of the other functions listed in the affected functions list (below), PHP caches the information those functions return in order to provide faster performance. However, in certain cases, you may want to clear the cached information. For instance, if the same file is being checked multiple times within a single script, and that file is in danger of being removed or changed during that script's operation, you may elect to clear the status cache. In these cases, you can use the function to clear the information that PHP caches about a file. stat``lstat``clearstatcache

You should also note that PHP doesn't cache information about non-existent files. So, if you call on a file that doesn't exist, it will return false until you create the file. If you create the file, it will return true even if you then delete the file. However clears the cache automatically. file_exists``unlink

Opmerking: > This function caches information about specific filenames, so you only need to call if you are performing multiple operations on the same filename and require the information about that particular file to not be cached. clearstatcache

Affected functions include , , , , , , , , , , , , , , , , , and . 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

clear_realpath_cache Whether to clear the realpath cache. also

filename Clear the realpath cache for a specific filename only; only used if is true. clear_realpath_cache

return.void

Voorbeeld: example

<?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));
?>
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