如何在PHP 中使用file_get_contents 快速獲取圖像大小
獲取大量遠端圖像的圖像尺寸可能是一項耗時的任務,特別是使用getimagesize。這是另一種利用file_get_contents 快速擷取影像大小的方法:
使用自訂PHP 函數
以下ranger() 函數從遠端讀取特定位元組範圍影像,實現快速尺寸擷取:
<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>
擷取影像尺寸
取得影像資料後,您可以使用imagecreatefromstring() 確定其尺寸,並內建-影像分析函數中:
<code class="php">$im = imagecreatefromstring($raw); $width = imagesx($im); $height = imagesy($im);</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>
測試結果
範例影像僅花費0.20859 秒即可擷取其尺寸。事實證明,載入 32KB 的資料在這種方法中是有效的。透過應用此技術,您可以快速取得遠端影像的影像大小,從而最大限度地減少 getimagesize 通常遇到的瓶頸。
以上是如何在 PHP 中加快圖片大小檢索:file_get_contents 是解決方案嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!