Header-Only-Abruf in PHP über Curl
Reduzierung der Serverlast mit Header-Only-Abruf
Beim Abrufen von Webinhalten mit PHP und Curl kann angegeben werden, ob nur der Header oder der abgerufen werden soll gesamte Seite. Durch Auswahl der Option „Nur Header“ werden die auf dem Remote-Server erforderliche Verarbeitungsleistung und Bandbreite reduziert, da die Generierung und Übertragung des Seitentexts entfällt.
Abrufen des letzten Änderungsdatums über curl_getinfo
Um das letzte Änderungsdatum oder den If-Modified-Since-Header einer Remote-Datei abzurufen, können Sie curl_getinfo() verwenden. Übergeben Sie das Curl-Handle (nicht die Header-Daten) als erstes Argument und geben Sie CURLINFO_FILETIME als zweites Argument an. Es ist jedoch wichtig zu beachten, dass die Dateizeit möglicherweise nicht immer verfügbar ist. In diesem Fall wird sie als -1 gemeldet.
Beispiel: Abrufen des letzten Änderungsdatums
<?php class URIInfo { public $info; public $header; private $url; public function __construct($url) { $this->url = $url; $this->setData(); } public function setData() { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $this->url); curl_setopt($curl, CURLOPT_FILETIME, true); curl_setopt($curl, CURLOPT_NOBODY, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HEADER, true); $this->header = curl_exec($curl); $this->info = curl_getinfo($curl); curl_close($curl); } public function getFiletime() { return $this->info['filetime']; } } $uri_info = new URIInfo('http://www.codinghorror.com/blog/'); $filetime = $uri_info->getFiletime(); if ($filetime != -1) { echo date('Y-m-d H:i:s', $filetime); } else { echo 'filetime not available'; }
?>
Zusätzlich Überlegungen
Die URIInfo-Klasse kann mit Methoden erweitert werden, um andere Header-Informationen wie den Inhaltstyp oder den ETag abzurufen.
Das obige ist der detaillierte Inhalt vonWie kann ich mit Curl in PHP das letzte Änderungsdatum einer Remote-Datei abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!