首頁 > 後端開發 > php教程 > 如何優化遠端影像的 getimagesize 效能?

如何優化遠端影像的 getimagesize 效能?

Susan Sarandon
發布: 2024-10-29 08:06:30
原創
431 人瀏覽過

How can I optimize getimagesize performance for remote images?

加速遠端影像的 getimagesize 效能

Getimagesize 通常用於決定遠端影像的尺寸。然而,在處理大量影像時,它可能會變得非常耗時。

更快的方法是使用 file_get_contents 取得一小部分影像資料並對其進行分析以檢索大小。此方法避免了載入整個映像的開銷。

以下是如何使用ranger 函數實現此技術的範例:

<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">$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>
登入後複製

在測試中,獲取前32 KB 影像資料提供了令人印象深刻的效能提升:

640 x 480 (0.20859s)
登入後複製

這種方法顯著減少了確定遠端影像大小所需的時間,使其成為處理大型資料集的理想選擇。

以上是如何優化遠端影像的 getimagesize 效能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板