Maison > développement back-end > tutoriel php > Comment puis-je récupérer efficacement la date de dernière modification d'un fichier distant en PHP à l'aide de cURL ?

Comment puis-je récupérer efficacement la date de dernière modification d'un fichier distant en PHP à l'aide de cURL ?

Mary-Kate Olsen
Libérer: 2024-11-13 09:16:02
original
670 Les gens l'ont consulté

How Can I Efficiently Retrieve the Last Modified Date of a Remote File in PHP using cURL?

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;
    }
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal