PHP 画像のサイズ(width、height)を取得する方法 | WordPress

PHPで画像サイズ(width、height)を取得する方法です。

PHP 画像のサイズ(width、height)を取得する方法 | WordPress

WordPressでアイキャッチ画像を設定した際、width、heightといた画像サイズを取得できないかと調べたところ、「getimagesize()」を利用すれば対応できることがわかりました。

ここでは PHPで画像のサイズ(width、height)を取得する方法 を紹介します。


画像サイズを取得する「getimagesize()」関数とは?

「getimagesize()」は、画像の大きさを取得する関数です。

getimagesize(string $filename, array &$image_info = null): array|false

第一引数に、URLや相対パスで画像ファイルを指定すれば、画像の幅や高さ、形式などの画像情報を、配列で返してくれます。

「getimagesize()」関数の戻り値

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

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

詳しくは下記のサイトを確認ください。

https://www.php.net/manual/ja/function.getimagesize.php

「getimagesize()」関数で画像サイズを取得する

早速、「getimagesize()」関数で画像サイズを取得してみましょう。

仮に、このサイトのロゴを対象とした場合、下記の画像情報が取得できます。


$image_info = getimagesize("https://saka-en.com/wp-content/themes/saka-en3/images/logo.png");
var_dump($image_info);

取得した配列は下記のようになりました。

array(6) {
[0]=> int(430)
[1]=> int(60)
[2]=> int(3)
[3]=> string(23) "width="430" height="60""
["bits"]=> int(8)
["mime"]=> string(9) "image/png" } テスト

WordPressアイキャッチ画像のサイズを取得する

続いて、WordPressアイキャッチ画像のサイズ取得方法です。

下記のコードで対応できます。


// 投稿ページでアイキャッチ画像の設定がある場合
if ( is_singular() && has_post_thumbnail() ) {
  // 画像情報を取得する。
  $image_info = getimagesize( get_the_post_thumbnail_url( get_the_ID(), 'full' ) );
  var_dump($image_info);
}

「get_the_post_thumbnail_url」は、アイキャッチ画像(サムネイル)のURLを取得する関数です。

これを「getimagesize()」関数と組み合わせることで、画像サイズを取得できます。

まとめ

PHPで画像サイズ(width、height)を取得する方法を紹介しました。

「getimagesize()」は、第一引数に画像ファイルのURLやパスを指定するだけなので、使い方も簡単です。画像の幅や高さなど、取得できる情報もそろっているので便利ですね。ガンガン使っていこう。

おつかれさまでした。

この記事がお役に立ちましたら シェア をお願いいたします。