Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana Saya Boleh Mendapatkan Saiz Fail Jauh Tanpa Memuat turunnya?
Menentukan Saiz Fail Jauh
Mendapatkan saiz fail fail jauh tanpa memuat turunnya boleh menjadi pengoptimuman yang berguna dalam senario tertentu.
Penyelesaian
Seperti yang dinyatakan dalam jawapan, menggunakan permintaan HTTP HEAD ialah pendekatan yang sesuai untuk tugasan ini. Permintaan HEAD mendapatkan semula pengepala HTTP yang dikaitkan dengan sumber, tanpa mengambil badan sebenar.
Pelaksanaan
Berikut ialah fungsi PHP yang memanfaatkan kaedah ini:
function get_remote_file_size($url) { $curl = curl_init($url); curl_setopt($curl, CURLOPT_NOBODY, true); curl_setopt($curl, CURLOPT_HEADER, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); $data = curl_exec($curl); curl_close($curl); if ($data) { preg_match("/Content-Length: (\d+)/", $data, $matches); $content_length = $matches[1] ?? -1; return $content_length; } return -1; }
Penggunaan
Anda boleh menggunakan fungsi ini untuk menentukan saiz fail jauh:
$file_size = get_remote_file_size("http://my_url/my_file.txt");
Nota: Kaedah ini bergantung pada pelayan yang memenuhi permintaan HEAD dan menyediakan pengepala Panjang Kandungan yang betul.
Atas ialah kandungan terperinci Bagaimana Saya Boleh Mendapatkan Saiz Fail Jauh Tanpa Memuat turunnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!