filemtime()在执行期间保持不变,尽管文件已更改

时间:2012-07-28 16:02:38

标签: php filemtime

尝试运行

<?php
  echo filemtime("test.txt")."\n";
  sleep(4);
  file_put_contents("test.txt", "test");
  echo filemtime("test.txt")."\n";
?>

对我来说打印命令行:

1343490984
1343490984

那可能不对,可以吗?

1 个答案:

答案 0 :(得分:12)

来自filemtime documentation

  

注意:此功能的结果已缓存。有关详细信息,请参阅clearstatcache()

在再次致电clearstatcache()之前,您需要致电filemtime()

echo filemtime("test.txt")."\n";
sleep(4);
file_put_contents("test.txt", "test");
clearstatcache();
echo filemtime("test.txt")."\n";