About php clearstatcache - Clear the file status cache. We will explain it one by one below, and there are specific examples.
clearstatcache
(PHP 4, PHP 5)
clearstatcache - clear file status cache
description
void clearstatcache ([boolean $clear_realpath_cache = False [, string $file name] ])
When you use statistics(), lstat(), or any other function listed in the affected functions list (below), PHP restores cache information for those functions to provide faster performance . However, in some cases, you may want to clear cached information. For example, if the same file is being checked multiple times in a script and the file is dangerously deleted or changed while the script is running, you may choose to clear the cache status. In this case, you can use clearstatcache() function to get clear information about PHP cache files.
You should also note that PHP does not cache information for files that do not exist. So if you ask for file_exists() on a file that doesn't exist, it will return FALSE until you create the file. If you create the file, it will return even if you then delete the file. However disconnect() automatically clears the cache.
Note: This function caches information for a specific filename, so you only need to call clearstatcache() if you are dealing with multiple operations on the same filename and require that that specific file not be cached.
Affected functions include statistics(), lstat(), file_exists(), is_writable(), is_readable(), is_executable(), is_file(), is_dir(), is_link(), filectime(), fileatime() ), filemtime(), fileinode(), filegroup(), fileowner(), filesize(), filetype(), and fileperms().
Parameter
clear_realpath_cache
Clear cache whenever or not realpath (default false).
File name
Clear the specific file name of the realpath cache. This is true if only clear_realpath_cache is used.
Return Value
Return without value.
Modify
Version Notes
5.3.0 time optional clear_realpath_cache and file name parameters.
Example
Example #1 clearstatcache()
$file = 'output_log.txt'; function get_owner($file) { $stat = stat($file); $user = posix_getpwuid($stat['uid']); return $user['name']; } $format = "UID @ %s: %sn"; printf($format, date('r'), get_owner($file)); chown($path, 'ross'); printf($format, date('r'), get_owner($file)); clearstatcache(); printf($format, date('r'), get_owner($file)); ?>
Output
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