ホームページ  >  記事  >  バックエンド開発  >  PHP の getimagesize 関数を使用してリモート画像寸法抽出を高速化するにはどうすればよいですか?

PHP の getimagesize 関数を使用してリモート画像寸法抽出を高速化するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-04 01:25:03379ブラウズ

How can I speed up remote image dimension extraction with PHP's getimagesize function?

リモート画像の寸法抽出のための 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。