Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在过期日期添加远期日期_Php_.htaccess_Header - Fatal编程技术网

Php 在过期日期添加远期日期

Php 在过期日期添加远期日期,php,.htaccess,header,Php,.htaccess,Header,我们可以通过将其放在.htaccess上来操纵过期日期 ExpiresDefault "access plus 10 years" 我们希望在PHP文件中对其进行操作。在寻找一个类似的东西的时候。我遇到了: $offset = 60 * 60; $expire = 'expires: ' . gmdate ('D, d M Y H:i:s', time() + $offset) . ' GMT'; header ($expire); 但这只会给我们的过期日期增加时间。对我们来说;我们希望这一

我们可以通过将其放在.htaccess上来操纵过期日期

ExpiresDefault "access plus 10 years"
我们希望在PHP文件中对其进行操作。在寻找一个类似的东西的时候。我遇到了:

$offset = 60 * 60;
$expire = 'expires: ' . gmdate ('D, d M Y H:i:s', time() + $offset) . ' GMT';
header ($expire);
但这只会给我们的过期日期增加时间。对我们来说;我们希望这一年有所改变。在php中有办法做到这一点吗?

您可以这样做:

$expire = 'Expires: ' . gmdate('D, d M Y H:i:s', strtotime('+10 years')) . ' GMT';
header($expire);

我正在使用创建当前时间+10年的时间戳。

您做得对。只需将偏移量增加到10年(以秒为单位)。

为了将到期日期设置为提前一年,您需要更大的$offset,当前值仅为小时(60秒为一分钟*60分钟为一小时)


只要确保你把闰年和闰秒考虑在内。@Salman A我真的认为精度在这种情况下并不重要。我发现很难相信任何东西实际上会将资源缓存十年(给或几闰日和几秒钟)。请注意:“将
过期时间设置为至少一个月,最好是一年,在未来……不要将其设置为超过一年,因为这违反了RFC指南。”HTTP/1.1 RFC(2616)的(不再能够编辑我上面的评论,就这样)明确声明“将响应标记为”永不过期,“原始服务器发送的
Expires
日期约为发送响应后一年。HTTP/1.1服务器今后发送的
Expires
日期不应超过一年。”(我强调)请停止在标题中写入标记。
    $offset = 365*24*60*60;