鸬鹚洲 发表于 2017-3-25 08:53:08

php的clearstatcache函数

  今天再看ecshop源码时,看到/admin/includes/init.php中,有这么一个函数,clearstatcache()函数,原以为是ecshop自定义函数,ctrl跟踪一下,竟然没有反应,一查手册竟然是php系统函数
  下面的来自手册

定义和用法
  clearstatcache() 函数清除文件状态缓存。
  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
//检查文件大小
echo filesize("test.txt");
$file = fopen("test.txt", "a+");
// 截取文件
ftruncate($file,100);
fclose($file);
//清除缓存并再次检查文件大小
clearstatcache();
echo filesize("test.txt");
?>
页: [1]
查看完整版本: php的clearstatcache函数