Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara Mempercepatkan Pengambilan Saiz Imej dalam PHP: Adakah file_get_contents Penyelesaian?

Cara Mempercepatkan Pengambilan Saiz Imej dalam PHP: Adakah file_get_contents Penyelesaian?

Linda Hamilton
Linda Hamiltonasal
2024-10-30 16:47:25991semak imbas

How to Speed Up Image Size Retrieval in PHP: Is file_get_contents the Solution?

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!

Kenyataan:
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