Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich mit Curl in PHP das letzte Änderungsdatum einer Remote-Datei abrufen?

Wie kann ich mit Curl in PHP das letzte Änderungsdatum einer Remote-Datei abrufen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-13 01:48:02290Durchsuche

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

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn