Bagaimanakah saya boleh mengoptimumkan prestasi getimagesize untuk imej jauh?

Susan Sarandon
Lepaskan: 2024-10-29 08:06:30
asal
394 orang telah melayarinya

How can I optimize getimagesize performance for remote images?

Mempercepatkan Prestasi getimagesize untuk Imej Jauh

Getimagesize selalunya digunakan untuk menentukan dimensi imej jauh. Walau bagaimanapun, apabila berurusan dengan sejumlah besar imej, ia boleh memakan masa.

Pendekatan yang lebih pantas melibatkan pengambilan sebahagian kecil data imej menggunakan file_get_contents dan menganalisisnya untuk mendapatkan semula saiz. Kaedah ini mengelakkan overhed memuatkan keseluruhan imej.

Berikut ialah contoh cara melaksanakan teknik ini menggunakan fungsi renjer:

<code class="php">function ranger($url) {
    $headers = ["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>
Salin selepas log masuk

Untuk menunjukkan prestasi yang lebih baik, pertimbangkan contoh berikut :

<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>
Salin selepas log masuk

Dalam ujian, mengambil 32 KB pertama data imej memberikan peningkatan prestasi yang mengagumkan:

640 x 480 (0.20859s)
Salin selepas log masuk

Pendekatan ini mengurangkan dengan ketara masa yang diperlukan untuk menentukan saiz imej jauh, menjadikannya ideal untuk memproses set data yang besar.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengoptimumkan prestasi getimagesize untuk imej jauh?. 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