Кэш PHP filemtime в другой день

Я хочу кэшировать файл на 5 минут, но filemtime с другим днем ​​всегда возвращает false, вот код

<?php
error_reporting(E_ALL);
date_default_timezone_set("Asia/Jakarta");
$cache_file = 'myfile';
$cachetime = time() - 5*60;

if(filemtime($cache_file) >  $cachetime ) {
  echo "Cache Expired";
}
else{
  echo "File Mod: ".filemtime($cache_file)." >>> ".date("F d Y H:i:s", filemtime($cache_file))."<br>";
  echo "Time Now: ".$cachetime." >>> ".date("F d Y H:i:s", $cachetime)."<br>";
}
?>

и вывод

File Mod: 1431696549 >>> May 15 2015 20:29:09
Time Now: 1431716474 >>> May 16 2015 02:01:14

Спасибо за вашу помощь.


person uingtea    schedule 15.05.2015    source источник
comment
Меньше, не больше. Если кеш был изменен 5 минут назад, то он будет меньше, чем сейчас...   -  person Devon    schedule 15.05.2015


Ответы (1)


Похоже, у вас отключена логика. Вы хотите создать временную метку данного времени модификации ПЛЮС TTL и сравнить ее с текущим временем.

$cachetime = filemtime($cache_file) + 5*60;

if($cachetime > time()) {
  echo "Cache Expired";
}
person John Cartwright    schedule 15.05.2015