php clearstatcache
void clearstatcache ([ bool
$clear_realpath_cache
= false [, string $filename
]] )当使用 stat(),lstat() 或者任何列在受影响函数表(见下面)中的函数时,PHP 将缓存这些函数的返回信息以提供更快的性能。然而在某些情况下,你可能想清除被缓存的信息。例如如果在一个脚本中多次检查同一个文件,而该文件在此脚本执行期间有被删除或修改的危险时,你需要清除文件状态缓存。这种情况下,可以用 clearstatcache() 函数来清除被 PHP 缓存的该文件信息。
必须注意的是,对于不存在的文件,PHP 并不会缓存其信息。所以如果调用 file_exists() 来检查不存在的文件,在该文件没有被创建之前,它都会返回 FALSE
。如果该文件被创建了,就算以后被删除,它都会返回 TRUE
函数 unlink() 会自动清除该缓存.
例
<?php //检查文件大小 echo filesize("test.txt"); $file = fopen("test.txt", "a+"); // 截取文件 ftruncate($file,100); fclose($file); //清除缓存并再次检查文件大小 clearstatcache(); echo filesize("test.txt"); ?>
输出:
792 100