编程语言
首页 > 编程语言> > php – filemtime在修改文件之前和之后返回相同的值

php – filemtime在修改文件之前和之后返回相同的值

作者:互联网

我试图在使用fwrite写入之前和之后获取文件的最后修改时间.但是,由于某种原因,我得到了相同的值.

<?php
$i = filemtime('log.txt');
echo gmdate("h:i:s", $i);
echo "<br/>";
$e=fopen('log.txt', 'w');
fwrite($e, "well well well");
$j = filemtime('log.txt');
echo gmdate("h:i:s", $j);

?>

现在我在运行此脚本之前大约一分钟用文本编辑器修改’log.txt’.所以我应该得到大约40-60秒的时差.如果有人能够指出这里发生了什么,那真的很感激.谢谢.

解决方法:

filemtime的文档声明缓存了此函数的结果.也许你可以尝试clearstatcache

<?php
$i = filemtime('log.txt');
echo gmdate("h:i:s", $i);
echo "<br/>";
$e=fopen('log.txt', 'w');
fwrite($e, "well well well");
clearstatcache();
$j = filemtime('log.txt');
echo gmdate("h:i:s", $j);

标签:php,timestamp,fopen,fwrite,filemtime
来源: https://codeday.me/bug/20190623/1271329.html