首頁 >後端開發 >php教程 >如何在 PHP 中比使用'getimagesize”更快地檢索圖像尺寸?

如何在 PHP 中比使用'getimagesize”更快地檢索圖像尺寸?

Patricia Arquette
Patricia Arquette原創
2024-10-30 18:12:30347瀏覽

How Can I Retrieve Image Dimensions in PHP Faster Than Using `getimagesize`?

探索PHP 中更快的影像尺寸檢索

在PHP 程式設計領域,在處理影像時,使用預設的getimagesize 函數檢索影像尺寸可能會變得非常麻煩。大量遠程影像。為了解決這個瓶頸,讓我們深入研究一種能夠實現閃電般性能的替代方法。

透過利用 file_get_contents 函數,我們只能從映像中讀取有限數量的位元組。然後可以仔細檢查這些數據以確定圖像的尺寸。

為了開始這個方法,讓我們考慮以下程式碼片段:

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

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

此函數利用 ranger 函數來擷取影像資料的一小部分。隨後,使用 imagecreatefromstring 從檢索到的資料產生映像資源。最後,imagex 和 imagesy 分別為我們提供了圖像的寬度和高度。

當使用圖像URL 進行測試時,這種方法表現出了令人印象深刻的速度,如下所示:

640 x 480 (0.20859s)

在本例中,提取圖像尺寸僅花費了0.20859 秒,凸顯了此方法的效率。

透過利用從遠端影像讀取有限資料量的能力,我們設計了一種非常快速的方法在 PHP 中獲取影像尺寸的有效方法。這項技術使您能夠輕鬆快速地應對處理大量影像的挑戰。

以上是如何在 PHP 中比使用'getimagesize”更快地檢索圖像尺寸?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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