【PHP8.x】getimagesizefromstring関数の使い方

作成日: 更新日:

getimagesizefromstring関数は、画像データのバイナリ文字列からその画像に関する情報を取得する関数です。この関数は、画像ファイルとして実際に保存されているパスを指定するのではなく、メモリ上に存在する画像の生データ(バイナリ文字列)を直接解析します。具体的には、画像のピクセル幅、ピクセル高さ、画像のタイプ(例えば、JPEGやPNGなどを示す定数)、MIMEタイプ(例: image/jpeg)、そしてHTMLの<img>タグに直接使えるwidth="xxx" height="yyy"形式の文字列など、さまざまな情報が配列形式で提供されます。

同様の機能を持つgetimagesize関数が画像ファイルのパスを引数に取るのに対し、getimagesizefromstringは画像データそのものを文字列として受け取るため、画像を一時ファイルとして保存する必要がないという利点があります。これにより、データベースにバイナリデータとして保存されている画像を扱う場合や、ネットワーク経由で受信した画像をファイルシステムに書き出すことなく直接処理したい場合などに非常に便利です。無効な画像データが渡された場合や、PHPがサポートしていない形式の画像であった場合は、この関数はfalseを返しますので、必ず戻り値を確認してエラー処理を行うことが重要です。この関数は、効率的な画像データ処理を可能にし、アプリケーションのパフォーマンス向上に貢献します。

基本的な使い方

構文(syntax)

getimagesizefromstring(string $image_data, array &$image_info = null): array|false

引数(parameters)

string $string, array &$image_info = null

  • string $string: 画像データを含む文字列
  • array &$image_info = null: 画像情報を格納するための配列 (参照渡し)

戻り値(return)

array|false

指定された文字列から画像ファイルのサイズ情報を取得します。成功した場合は画像の情報を含む配列を、失敗した場合は false を返します。