1

ファイルを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

ご協力いただきありがとうございます。

4

1 に答える 1

1

あなたのロジックがオフになっているようです。指定された変更時間と TTL のタイムスタンプを作成し、これを現在の時間と比較します。

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

if($cachetime > time()) {
  echo "Cache Expired";
}
于 2015-05-15T19:18:54.747 に答える