Penemuan Pengepala Sahaja melalui cURL dalam PHP
Artikel ini menangani dua pertanyaan mengenai penggunaan cURL dalam PHP untuk mendapatkan pengepala sahaja dan bukannya data halaman penuh, memfokuskan pada kecekapan pemprosesan dan pelaksanaan khusus cabaran.
Kecekapan Pemprosesan
Ya, terdapat pengurangan dalam kedua-dua kuasa pemprosesan dan penggunaan lebar jalur pada pelayan jauh apabila hanya mendapatkan pengepala berbanding dengan mengambil keseluruhan halaman. Ini kerana pelayan boleh mengelakkan overhed menjana dan menghuraikan kandungan HTML, menghasilkan beban yang lebih ringan.
Mendapatkan Tarikh Pengubahsuaian Fail
Untuk mendapatkan semula yang terakhir diubah suai tarikh (pengepala Terakhir Diubah Suai) atau pengepala If-Modified-Sejak fail jauh, langkah berikut boleh diambil:
<?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']; } } $filetime = (new URIInfo('http://www.example.com/file.xml'))->getFiletime(); if ($filetime != -1) { echo date('Y-m-d H:i:s', $filetime); } else { echo 'filetime not available'; } ?>
Pendekatan ini menggunakan kelas untuk merangkum fungsi untuk mengambil maklumat pengepala dan mengekstrak pengepala Terakhir Diubah Suai.
Cabaran Pelaksanaan
Kod asal yang anda berikan cuba mendapatkan tarikh pengubahsuaian terakhir menggunakan curl_getinfo($header), iaitu tak betul. curl_getinfo() harus digunakan dengan pemegang cURL ($curl) untuk mendapatkan maklumat pengepala. Tambahan pula, penggunaan CURLOPT_FILETIME sepatutnya mencukupi untuk mendapatkan tarikh terakhir diubah suai.
Kesimpulannya, perolehan pengepala sahaja menggunakan cURL dalam PHP berpotensi mengurangkan beban pelayan sambil membenarkan anda mengakses maklumat pengepala tertentu. Dengan mengikut garis panduan yang digariskan di atas, anda boleh melaksanakan ciri ini dengan berkesan dalam kod anda.
Atas ialah kandungan terperinci Bagaimanakah saya boleh Mendapatkan Hanya Pengepala dalam PHP menggunakan cURL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!