Преобразовать возраст Cache-Control в дни, минуты или секунды? - PullRequest
0 голосов
/ 04 сентября 2018

Мне нужно разработать код, который идентифицирует время кеширования каждого файла в заданном URL-адресе, например этот инструмент

Для этого я использую 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, что и выше.

И, наконец, будет показан элемент управления кэшем, некоторые показывают большую дату (max-age = 315360000), другие показывают маленькую дату (max-age = 604800), теперь остается узнать, как я могу преобразовать и определить, когда кэш -контроль относится к дням, минутам, годам или секундам?

1 Ответ

0 голосов
/ 04 сентября 2018

можно конвертировать из секунд в читабельный формат, например:

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