Cara Mendapatkan Saiz Imej Sepantas kilat dalam PHP Menggunakan file_get_contents
Mendapatkan dimensi imej untuk banyak imej jauh boleh menjadi tugas yang memakan masa, terutamanya menggunakan getimagesize. Berikut ialah pendekatan alternatif yang memanfaatkan file_get_contents untuk mendapatkan semula saiz imej dengan pantas:
Menggunakan Fungsi PHP Tersuai
Fungsi renjer() berikut membaca julat bait tertentu dari alat kawalan jauh imej, membolehkan pengekstrakan saiz pantas:
<code class="php">function ranger($url){ $headers = array( "Range: bytes=0-32768" ); $curl = curl_init($url); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($curl); curl_close($curl); return $data; }</code>
Mengekstrak Saiz Imej
Setelah data imej diperoleh, anda boleh menentukan dimensinya menggunakan imagecreatefromstring() dan bina- dalam fungsi analisis imej:
<code class="php">$im = imagecreatefromstring($raw); $width = imagesx($im); $height = imagesy($im);</code>
Pengukuran Prestasi
Menggunakan kaedah ini, proses mendapatkan dimensi imej dengan ketara lebih pantas:
<code class="php">$start = microtime(true); $url = "http://news.softpedia.com/images/news2/Debian-Turns-15-2.jpeg"; $raw = ranger($url); $im = imagecreatefromstring($raw); $width = imagesx($im); $height = imagesy($im); $stop = round(microtime(true) - $start, 5); echo $width." x ".$height." ({$stop}s)";</code>
Keputusan Ujian
Imej contoh mengambil masa hanya 0.20859 saat untuk mendapatkan semula dimensinya. Memuatkan 32KB data telah terbukti berkesan dalam pendekatan ini. Dengan menggunakan teknik ini, anda boleh mendapatkan saiz imej imej jauh dengan pantas, meminimumkan kesesakan yang biasanya dihadapi dengan getimagesize.
Atas ialah kandungan terperinci Cara Mempercepatkan Pengambilan Saiz Imej dalam PHP: Adakah file_get_contents Penyelesaian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!