ホームページ >バックエンド開発 >PHPチュートリアル >PHP の getimagesize 関数を使用してリモート画像寸法抽出を高速化するにはどうすればよいですか?
リモート画像の寸法抽出のための 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>
このテスト ケースでは、このアプローチにより、
注: 範囲パラメーター (「Range」ヘッダー内) を調整して、画像から多少のバイナリ データを取得します。さまざまな範囲を試して、特定のアプリケーションのパフォーマンスを最適化してください。
以上がPHP の getimagesize 関数を使用してリモート画像寸法抽出を高速化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。