php заголовок истекает каждый день в X - PullRequest
1 голос
/ 19 ноября 2010

Как настроить срок действия документа каждый день в 2 часа ночи на PHP?

Ответы [ 5 ]

4 голосов
/ 19 ноября 2010
header("Expires: " . date("D, j M Y", strtotime("now")) . " 02:00:00 GMT");

или

header("Expires: " . date("D, j M Y", strtotime("tomorrow")) . " 02:00:00 GMT");
1 голос
/ 19 ноября 2010
// 2AM today
$epoch = mktime(2,0,0,date('n'),date('j'),date('y')); 

// Go to tomorrow if current time > 2AM
$epoch += date('H') >= 2 ? 86400 : 0; 

// Send header with RFC 2822 formatted date
header('Expires: '.date('r', $epoch));
1 голос
/ 19 ноября 2010

php :: header () ресурс

Вы хотите использовать:

//assuming getTimeUnitl2AM() returns time in seconds until 2am 
//if you need help implementing a function that returns 
//time until 2am ask 
$time = getTimeUntil2AM(); 
header("Expires: $time"); // set expiration time
0 голосов
/ 19 ноября 2010

Установите заголовок Expires -HTTP (например, см. Википедия ) с заголовком () . Вам просто нужно указать дату.

header("Expires: " . date('D, d M Y') . " 02:00:00 GMT");

* 1010 Дата * ()

Обратите внимание, что это время по Гринвичу. Возможно, вы хотите установить другой часовой пояс.

0 голосов
/ 19 ноября 2010

Вы можете использовать strtotime, чтобы получить метку времени Unix в 2 часа ночи и вычесть ее из текущего времени:

$diff = strtotime('2 AM') - time();
if ($diff < 0) $diff += 86400;

Затем вы можете использовать эту разницу для Cache-Control s max-age :

header('Cache-Control: max-age='.$diff);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...