首页 > 代码库 > php clearstatcache

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

输出:

792100

php clearstatcache