首頁  >  文章  >  後端開發  >  如何使用 PHP 的 getimagesize 函數加速遠端影像尺寸擷取?

如何使用 PHP 的 getimagesize 函數加速遠端影像尺寸擷取?

Patricia Arquette
Patricia Arquette原創
2024-11-04 01:25:03434瀏覽

How can I speed up remote image dimension extraction with PHP's getimagesize function?

加速PHP 中的getimagesize 進行遠端影像尺寸擷取

對於大型影像集,使用PHP 的getimagesize 函數確定遠端影像的尺寸可能會很緩慢。本文探討了一種替代方法,利用 file_get_contents 從映像中檢索部分二進位資料以進行大小分析。

要使用此方法擷取影像尺寸,請實作下列函數:

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

接下來,執行下列程式碼擷取遠端影像的尺寸:

<code class="php">$url = "http://news.softpedia.com/images/news2/Debian-Turns-15-2.jpeg";

$raw = ranger($url);
$im = imagecreatefromstring($raw);

$width = imagesx($im);
$height = imagesy($im);

echo $width." x ".$height." ({$stop}s)";</code>

在我們的測試案例中,此方法在0.2 秒內產生遠端影像的尺寸。

注意:調整範圍參數(在「範圍」標題)以從影像中檢索更多或更少的二進位資料。嘗試不同的範圍以優化您的特定應用程式的效能。

以上是如何使用 PHP 的 getimagesize 函數加速遠端影像尺寸擷取?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn