オーダーメイドコース
icon
icon

PHPのgetimagesizeメソッドの使い方を現役エンジニアが解説【初心者向け】

初心者向けにPHPのgetimagesizeメソッドの使い方について解説しています。getimagesizeメソッドは、PHPで手軽に使うことが出来る画像関連の関数です。アップロードした画像の幅を変更したりして、小さくリサイズする場合などに使用することが出来ます。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

今回は、PHPのgetimagesizeメソッドの使い方について解説します。実際のコードをもとに解説していきますので、理解を深めていきましょう。

 

そもそもPHPについてよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプPHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PHPのgetimagesizeメソッドの使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

PHPのgetimagesizeメソッドとは

PHPのgetimagesizeメソッドを利用することで、画像ファイルのサイズに関する情報を配列で取得することが可能です。具体的には、ファイルの高さと幅を表す文字列データを取得します。注意点として、画像ファイル以外のファイルを調べることも可能ですが、あくまで画像ファイルであるという前提が正しい状態での調査となります。

つまり、画像ファイルではないものをgetimagesizeで調べたとしても、意味のない配列を返すだけで、実際には画像ファイルのサイズ等の情報は調べることができないということが言えます。それは、getimagesize関数では、ファイルが画像ファイルかどうかを調べることができないことも意味しています。

 

getimagesizeメソッドの使い方

基本文法

getimagesize (ファイル名, ファイル情報)

 

解説

ファイル名には、画像ファイルのファイル名を指定します。ファイル名は必須です。ファイル情報には、拡張情報を代入したい変数を指定します。

変数とは、値を入れる箱のようなものです。ファイル情報は必須ではありません。

 

[PR] PHPを学んで未経験からWebエンジニアを目指す方法とは

実際に書いてみよう

ソースコード

<?php
$file = "http://techacademy.jp/tech.png";
print_r( getimagesize($file) );
?>

 

表示結果

Array
(
  [0] => 200
  [1] => 100
  [2] => 3
  [3] => width="200" height="100"
)

 

解説

<?phpでは、PHPプログラムを開始するということを宣言しています。

$file = “http://techacademy.jp/tech.png”;では、tech.pngというファイルをhttp://techacademy.jp/tech.pngから代入しています。

getimagesize($file)では、tech.pngというファイルのサイズを調べています。

print_rを利用することで、調べたファイルに関する情報を表示することが可能です。

表示結果で、

0は、画像の幅を意味します。今回は200pxです。

1は、画像の高さを意味します。今回は100pxです。

2は、画像の種類を示す数字で、1はgif、2はjpg、3はpngを意味します。

3は、imgタグ内で利用できるテキストです。今回は、幅と高さを指定する際のHTMLです。

?>の行は省略可能です。phpの処理が終了することを意味しています。

 

今回は、PHPのgetimagesizeメソッドの使い方について解説しました。

 

筆者プロフィール

中本賢吾(なかもとけんご)

アジマッチ有限会社 代表取締役社長

開発実績:PHPフレームワークを利用した会員制SNS・ネットショップ構築、AWSや専用サーバー下でLinuxを使用したセキュアな環境構築、人工知能を利用したシステム開発、店舗検索スマホアプリ開発など。

地域の職業プログラマー育成活動では、小学生がオリジナルAndroidアプリをGooglePlayでリリース、NHK Whyプログラミング入賞、全国Programing Festival入賞。ゲームで遊ぶより作ろうぜ!を合言葉に、小学生でも起業できる技術力を育成可能で有ることを証明し続けている。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でもPHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できるオンラインブートキャンプPHP/Laravel講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。