Try running
<?php
echo filemtime("test.txt")."\n";
sleep(4);
file_put_contents("test.txt", "test");
echo filemtime("test.txt")."\n";
?>
For me the command line printed:
1343490984
1343490984
That can't be right, can it?
From the filemtime
documentation:
Note: The results of this function are cached. See
clearstatcache()
for more details.
You need to call clearstatcache()
before you call filemtime()
again:
echo filemtime("test.txt")."\n";
sleep(4);
file_put_contents("test.txt", "test");
clearstatcache();
echo filemtime("test.txt")."\n";