PHP clearstatcache() 函数


PHP Filesystem 参考手册 完整的 PHP Filesystem 参考手册

定义和用法

clearstatcache() 函数清除文件状态缓存。

PHP 会缓存某些函数的返回信息,以便提供更高的性能。但是有时候,比如在一个脚本中多次检查同一个文件,而该文件在此脚本执行期间有被删除或修改的危险时,你需要清除文件状态缓存,以便获得正确的结果。要做到这一点,请使用 clearstatcache() 函数。

语法

clearstatcache()


提示和注释

提示:会进行缓存的函数,即受 clearstatcache() 函数影响的函数:

  • 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()

<?php
//check filesize
echo filesize("test.txt");
echo "<br />";

$file = fopen("test.txt", "a+");
// truncate file
ftruncate($file,100);
fclose($file);

//Clear cache and check filesize again
clearstatcache();
echo filesize("test.txt");
?>

上面的代码将输出:

792
100


PHP Filesystem 参考手册 完整的 PHP Filesystem 参考手册