代码如下:
$time = filemtime('tt.txt');
echo $time."\r\n";
sleep(3);
$str = 1585112434;
file_put_contents('tt.txt', $str);
$time = filemtime('tt.txt');
echo $time;
运行结果:
1585556332
1585556332
为什么会这样? 本函数返回文件中的数据块上次被写入的时间,也就是说,文件的内容上次被修改的时间。 但是实际上为什么
1
baiyi 2020-03-30 16:30:18 +08:00 2
https://www.php.net/manual/zh/function.filemtime.php
应该是这个原因:Note: 此函数的结果会被缓存。参见 clearstatcache() 以获得更多细节。 |
2
frozenway OP 是不是整个 php 代码执行完后,才会改变文件的上次修改时间?
|
4
onion83 2020-03-30 16:36:34 +08:00 1
```php
$time = filemtime('tt.txt'); echo $time."\r\n"; sleep(3); clearstatcache(); $str = 1585112434; file_put_contents('tt.txt', $str); $time = filemtime('tt.txt'); echo $time; ``` |