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

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

Mary-Kate Olsen
Libérer: 2024-11-13 01:48:02
original
289 Les gens l'ont consulté

How Can I Retrieve the Last Modified Date of a Remote File Using curl in PHP?

Récupération d'en-tête uniquement en PHP via Curl

Réduction de la charge du serveur avec la récupération d'en-tête uniquement

Lors de la récupération de contenu Web à l'aide de PHP et curl, il est possible de spécifier s'il faut récupérer uniquement l'en-tête ou la page entière. La sélection de l'option d'en-tête uniquement réduit la puissance de traitement et la bande passante requises sur le serveur distant, car elle exclut le besoin de générer et de transmettre le corps de la page.

Récupération de la date de dernière modification via curl_getinfo

Pour récupérer la date de dernière modification ou l'en-tête If-Modified-Since d'un fichier distant, vous pouvez utiliser curl_getinfo(). Transmettez le handle curl (pas les données d’en-tête) comme premier argument et spécifiez CURLINFO_FILETIME comme deuxième argument. Cependant, il est important de noter que l'heure du fichier peut ne pas être toujours disponible, auquel cas elle sera signalée comme -1.

Exemple : Récupération de la date de la dernière modification

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

?>

Considérations supplémentaires

La classe URIInfo peut être étendue avec des méthodes pour récupérer d'autres informations d'en-tête, telles que le type de contenu ou l'ETag.

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