通过touch()更改文件的上次修改时间,并使用filemtime()获取结果

时间:2013-06-29 13:13:41

标签: php caching

所以我试图获取文件的最后修改日期,然后将其更新为当前时间,但是当我查看结果时,我会在$ oldtime和$ newtime中获得SAME时间戳

$file = 'test.txt';
$oldtime = filemtime($file);
touch($file, time());
$newtime = filemtime($file);

echo '<h1>old</h1>';
print_r(getdate($oldtime));
echo '<h1>new</h1>';
print_r(getdate($newtime));

1 个答案:

答案 0 :(得分:14)

touch文件后使用clearstatcache以获得正确的修改时间值。

因为您之前使用过filemtime,所以缓存了结果,在第二次调用时,结果从该缓存中提取而不是直接检查文件。