Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Cekap Mendapatkan Tarikh Terakhir Diubah Suai Fail Jauh menggunakan CURL's Header-Only Retrieval?

Bagaimana untuk Cekap Mendapatkan Tarikh Terakhir Diubah Suai Fail Jauh menggunakan CURL's Header-Only Retrieval?

Barbara Streisand
Lepaskan: 2024-11-16 02:51:03
asal
757 orang telah melayarinya

How to Efficiently Retrieve Last Modified Date of a Remote File using cURL's Header-Only Retrieval?

Penemuan Pengepala Sahaja dalam PHP melalui cURL

Untuk mendapatkan semula metadata fail yang cekap, seperti tarikh terakhir diubah suai, pertimbangkan untuk menggunakan pengepala cURL- hanya ciri pengambilan semula. Kaedah ini boleh mengurangkan kuasa pemprosesan dan penggunaan lebar jalur dengan ketara pada pelayan jauh.

Untuk mendapatkan semula pengepala sahaja, anda boleh menetapkan pilihan berikut dalam permintaan cURL anda:

curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_NOBODY, true);
Salin selepas log masuk

Ini memberitahu cURL untuk menghantar permintaan HEAD, yang mengarahkan pelayan untuk bertindak balas dengan hanya maklumat pengepala HTTP, meninggalkan badan sebenar respons.

Pendapatan Tarikh Terakhir Diubahsuai

Kepada dapatkan tarikh terakhir diubah suai, anda boleh menggunakan curl_getinfo() untuk mendapatkan semula maklumat FILETIME daripada pemegang cURL. Berikut ialah contoh:

$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);
curl_exec($curl);
$filetime = curl_getinfo($curl, CURLINFO_FILETIME); // Returns timestamp of last modification
curl_close($curl);
Salin selepas log masuk

Kod Contoh

Berikut ialah contoh yang lebih lengkap yang mengambil dan memaparkan tarikh terakhir diubah suai bagi fail jauh menggunakan cURL:

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'];
    }

    // Other functions can be added to retrieve other information.
}

$uri_info = new URIInfo('http://example.com/index.html');
$filetime = $uri_info->getFiletime();
if ($filetime != -1) {
    echo date('Y-m-d H:i:s', $filetime);
} else {
    echo 'Filetime not available';
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Cekap Mendapatkan Tarikh Terakhir Diubah Suai Fail Jauh menggunakan CURL's Header-Only Retrieval?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan