6

尝试运行

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

对我来说,命令行打印:

1343490984
1343490984

这不可能是对的,不是吗?

4

1 回答 1

17

filemtime文档中:

注意:此函数的结果被缓存。有关clearstatcache()更多详细信息,请参阅。

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

echo filemtime("test.txt")."\n";
sleep(4);
file_put_contents("test.txt", "test");
clearstatcache();
echo filemtime("test.txt")."\n";
于 2012-07-28T16:05:20.840 回答