2012-07-28 49 views
3

嘗試運行filemtime()不變到文件

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

對我來說,命令行打印:

1343490984 
1343490984 

這不可能是正確的,可以嗎?

回答

11

filemtime documentation

注:這個函數的結果會被緩存。有關更多詳細信息,請參見clearstatcache()

你需要調用clearstatcache()你再打電話filemtime()前:

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

通過5秒打我過它:對 – 2012-07-28 16:05:51

+0

甜啊,錯過了! – Woodgnome 2012-07-28 16:12:43

+1

我覺得它多餘的PHP文件緩存的狀態時,編碼器可以簡單地將其存儲在一個變量。 – FluorescentGreen5 2017-05-28 12:25:42