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

作成日: 更新日:

getimagesize関数は、指定された画像ファイルのサイズとタイプに関する情報を取得する関数です。この関数は、画像が実際に存在するファイルであるかどうかを確認し、その画像の幅や高さ、ファイル形式、そしてHTMLの<img>タグで利用できるwidthheight属性の文字列、さらにMIMEタイプなどの詳細なデータを提供します。

具体的には、画像のピクセル単位での幅と高さ、JPEGやPNG、GIFといった画像の種類を示す定数、ウェブページで画像の表示に役立つHTML形式のサイズ情報、そして画像のMIMEタイプ(例: image/jpeg)を配列として返します。この配列には、幅がインデックス0、高さがインデックス1、画像タイプがインデックス2、HTML属性文字列がインデックス3に格納され、mimeキーでMIMEタイプが提供されます。

この機能は、ウェブアプリケーションで画像をアップロードする際の検証処理や、動的に画像のサイズを調整して表示する場合に非常に有用です。例えば、ユーザーがアップロードした画像が指定されたサイズ制限内であるかを確認したり、ウェブページに表示する画像のwidthおよびheight属性を自動で設定したりする際に利用できます。ファイルパスが不正である場合や、指定されたファイルが有効な画像ファイルではない場合には、この関数はfalseを返してエラーを示します。

基本的な使い方

構文(syntax)

<?php
$filename = 'path/to/your/image.jpg';
$extra_info = []; // オプションで画像に関する追加情報を格納する配列

$image_details = getimagesize($filename, $extra_info);
?>

引数(parameters)

string $filename, array &$image_info = null

  • string $filename: 画像ファイルのパスを指定する文字列
  • array &$image_info = null: 画像の情報が格納される配列(参照渡し)

戻り値(return)

array|false

指定された画像ファイルのサイズ情報、カラータイプ、およびMIMEタイプを含む連想配列を返します。画像ファイルが破損している、またはサポートされていない形式である場合はfalseを返します。