こんにちは、Ryohei(@ityryohei)です!

本記事では、PHPのgetimagesize()を使って画像サイズ(width・height)を取得する方法をご紹介しています。

PHPで画像サイズを取得するにはどうすればいいの?

上記の疑問にお答えします。

では、解説していきます。

getimagesize()を使用する

PHPで画像サイズを取得する場合、組み込み関数のgetimagesize()を使用します。getimagesize()は、名前の通り画像サイズを取得する関数です。getimagesize()を使用することで、画像の幅や高さ、形式やMIMEタイプ等を取得することができます。

参考:getimagesize()

getimagesize()で画像サイズを取得する

実際にgetimagesize()で画像サイズを取得してみます。引数にURLや相対パスで画像ファイルを指定し、サイズ等の情報を取得します。

<?php

$image_file = 'test.jpg';
$image_size = getimagesize($image_file);

var_dump($image_size);

実行すると、戻り値として下記のような配列を取得できます。

array(7) {
  [0]=>
  int(5760)
  [1]=>
  int(3840)
  [2]=>
  int(2)
  [3]=>
  string(26) "width="5760" height="3840""
  ["bits"]=>
  int(8)
  ["channels"]=>
  int(3)
  ["mime"]=>
  string(10) "image/jpeg"
}

配列に格納されているキー(添字)と値は下記の通りです。

キー説明
0画像の幅
1画像の高さ
2画像の形式(参考
3imgタグで直接利用できる文字列
例:width="1920" height="1080"
bits個々の色のビット数
channels画像のチャンネル
例:RGB:3/CMYK: 4
mime画像のMIMEタイプ
例:image/jpeg"

これで画像サイズ等の情報を取得することができました。画像の幅と高さはもちろんですが、MIMEタイプやimgタグにそのまま出力できる文字列なんかも取得できるのは便利ですね。

最後に

getimagesize()は名前の通り画像の幅や高さといった情報をまとめて取得することができる関数です。引数に画像ファイルを指定するだけなので、使い方もわかりやすくていいいですね。画像サイズを使って処理を作成する場合に重宝する関数だと思います。

以上、PHPのgetimagesize()を使って画像サイズ(width・height)を取得する方法のご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / ブロガー

福岡のWeb制作会社に務めるWebエンジニアです。エンジニア歴は10年程で、好きな言語はPHPとJavaScriptです。本サイトは私がインプットしたWebに関する知識を整理し、共有することを目的に2015年から運営しています。Webに関するご相談があれば気軽にお問い合わせください。