...以及它是否在 30 天前缓存,
我正在使用以下代码:
$page=get_headers('http://www.w3schools.com/php/func_date_strtotime.asp');
输出是这样的:
0=>HTTP/1.1 200 OK
1=>连接:关闭
2=>日期:2012 年 5 月 3 日星期四 10:51:00 GMT
3=>服务器:Microsoft-IIS/6.0
4=>微软办公网络服务器:5.0_Pub
5=>X供电者:ASP.NET
6=>杂注:无缓存
7=>内容长度:23643
8=>内容类型:文本/html
9=>到期: 星期四, 03 五月 2012 10:50:00 GMT
10=>Set-Cookie: ASPSESSIONIDSAARQQST=AAMAAHBBBHBELMHDCHNNLMFP; path=/
11=>缓存控制:无缓存
我读到编译指示缓存,并不一定意味着该页面不可缓存。
我想知道两件事:1) 如果页面被缓存2) 如果它是 30 天前缓存的。
我可以这样做吗
$date1=gmdate("D, d M Y H:i:s", strtotime("30 days ago")) . " GMT";
$date2=$page['Expires'];
if($date1>$date2)
{
echo 'The page was cached for longer than 30 days';
}
由于PHP是一种服务器端语言,因此无法使用PHP检查浏览器缓存(客户端)。所以你需要一些像Javascript这样的客户端脚本,而不是像PHP这样的服务器端编程。