加速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中文網其他相關文章!