PHPで画像の情報を取得する

By katou - 08/10/03 - このエントリをはてなブックマークに追加このエントリをYahoo!ブックマークに追加このエントリをdel.icio.usに追加このエントリをFC2ブックマークに追加

画像を表示出来る大きさはキャリアや機種によって異なります。

携帯サイトを作成するにあたって、画像判定や画像形式の変換処理を考慮せずに携帯サイトを作成してしまうと

携帯からサーバーに画像をアップロードし、サイトでアップロードした画像が

特定のキャリアや特定の機種でしか正常に表示出来なくなるという問題が発生します。

こういった問題を回避するため、まずは、画像の情報をプログラム側で取得し

どういった処理を加えるのかを判定してから画像の伸縮や画像形式の変換などが必要になります。

※画像情報の詳細につきましては、画像処理カテゴリからご確認下さい。

今回は、画像の形式や、画像の横幅(width)、縦幅(height)を簡単に取得することが出来る

getimagesize関数をご紹介します。

getimagesize関数はGDライブラリを使用せずに実行することが可能です。

※下記コードは”img/size.jpg”画像がサーバー上にあると仮定しています。

//$widthには横幅、$heightには縦幅、$typeには画像形式、$attrには「width="値" height="値"」が入ります。
list($width, $height, $type, $attr) = getimagesize("img/size.jpg");

echo '<img src="img/size.jpg" '.$attr.' alt="" /><br />'."\n";

echo '<img src="img/size.jpg" width="'.$width.'" height="'.$height.'" alt="" /><br />'."\n";

echo "画像形式 ".$type;

/*
$typeの値はIMAGETYPE定数に対応しています。
1 = GIF
2 = JPG
3 =PNG
4 = SWF
5 = PSD
6 = BMP
7 = TIFF_II
8 = TIFF_MM
9 = JPC
10 = JP2
11 = JPX
12 = JB2
13 = SWC
14 = IFF
15 = WBMP
16 = XBM
*/

IMAGETYPE定数