将Cache-Control使用期限转换为几天,几分钟或几秒钟?

时间:2018-09-03 23:13:34

标签: php curl cache-control

我需要开发一个代码来标识给定URL(例如this tool)中每个文件的缓存时间

为此,我将PHP与CURL一起使用:

$website = 'https://stackoverflow.com';

$ch = curl_init($website);
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$resp = curl_exec($ch);
var_dump($resp);

但是在响应中,我看不到缓存文件的年龄,并且cache control的目标是私有的。

要解决此问题,我必须从页面正文中存在的每个图像文件,javascript,css中获取链接,并运行与上述相同的CURL代码。

最后将显示缓存控件,有些显示一个巨大的日期(最大年龄= 315360000),另一些显示一个小的日期(最大年龄= 604800),现在仍然需要知道如何转换和识别何时使用缓存-control是指天,分钟,年还是秒?

1 个答案:

答案 0 :(得分:0)

一个人可以从几秒钟转换为人类可读的格式,如下所示:

sprintf('%02d:%02d:%02d', ($s/3600), ($s/60%60), $s%60);