Récupération d'en-tête uniquement en PHP via cURL
Introduction
Dans certains scénarios, récupération uniquement les en-têtes HTTP d'une ressource distante peuvent offrir des avantages en termes de performances. Cet article explore les avantages de la récupération d'en-tête uniquement et propose une solution PHP cURL pour récupérer la date de dernière modification d'un fichier distant.
Puissance de traitement et économies de bande passante
Lors de la récupération uniquement des en-têtes, le serveur distant entraîne moins de surcharge de traitement par rapport au renvoi de la page entière. De même, la consommation de bande passante du réseau est réduite, ce qui peut être bénéfique pour les connexions à faible bande passante ou les situations où la préservation de la bande passante est cruciale.
Récupération de la date de dernière modification
Pour obtenir la date de la dernière modification ou l'en-tête If-Modified-Since, les options CURLOPT_FILETIME et CURLOPT_NOBODY peuvent être utilisées. Ces paramètres demandent à cURL de récupérer uniquement les informations d'heure du fichier et d'ignorer le téléchargement du contenu de la page.
Exemple de mise en œuvre
class LastChange { public $lastChange; function setLastChange() { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "http://url/file.xml"); curl_setopt($curl, CURLOPT_HEADER, true); curl_setopt($curl, CURLOPT_FILETIME, true); curl_setopt($curl, CURLOPT_NOBODY, true); $header = curl_exec($curl); $this->lastChange = curl_getinfo($curl, CURLINFO_FILETIME); curl_close($curl); } function getLastChange() { return $this->lastChange; } }
En passant CURLINFO_FILETIME comme deuxième paramètre à curl_getinfo( ), la date de la dernière modification est récupérée sous forme d'horodatage Unix.
Considérations supplémentaires
Cependant, il est important de noter que les informations sur l'heure du fichier peuvent ne pas toujours être disponibles. Dans de tels cas, curl_getinfo() renverra -1, indiquant que l'heure du fichier n'a pas pu être déterminée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!