ホームページ >バックエンド開発 >PHPチュートリアル >PHP で「getimagesize」を使用するよりも速く画像のサイズを取得するにはどうすればよいですか?

PHP で「getimagesize」を使用するよりも速く画像のサイズを取得するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-30 18:12:30347ブラウズ

How Can I Retrieve Image Dimensions in PHP Faster Than Using `getimagesize`?

PHP でのより高速な画像寸法取得の探索

PHP プログラミングの領域では、大量のリモート画像。このボトルネックに対処するために、超高速パフォーマンスを約束する別のアプローチを詳しく見てみましょう。

file_get_contents 関数を利用することで、画像から限られたバイト数だけを読み取ることができます。このデータは、画像の寸法を決定するために細心の注意を払って検査されます。

このアプローチを開始するには、次のコード スニペットを検討してみましょう。

<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;
}

$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>

この関数は、レンジャー関数を利用して画像のサイズを取得します。画像データのごく一部。続いて、imagecreatefromstring を使用して、取得したデータから画像リソースを生成します。最後に、imagesx と imagesy は、それぞれ画像の幅と高さを提供します。

画像 URL を使用してテストすると、以下に示すように、このアプローチは驚くべき速度を示しました。

640 x 480 (0.20859s)

この例では、画像の寸法の抽出にかかる時間はわずか 0.20859 秒であり、この方法の効率性が際立っています。

リモート画像から限られた量のデータを読み取る能力を活用することで、驚くほど高速なデータを考案しました。 PHP で画像の寸法を取得する効率的な方法。このテクニックを使用すると、多数の画像を簡単かつ迅速に処理するという課題に取り組むことができます。

以上がPHP で「getimagesize」を使用するよりも速く画像のサイズを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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