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);
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);
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'; }
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!