getimagesize
画像の大きさを取得する
$img = getimazesize('ファイル名');
$img[0] : 画像の幅
$img[1] : 画像の高さ
$img[2] : 画像形式定数
$img[3] : imgタグ用文字列(height="yyy" width="xxx")
exif_imagetype
イメージの型を定義する
返り値はgetimagesize
のインデックス2の返り値と同じになる
画像のサイズが必要なければ高速なのでこちらを使う
画像形式定数
値 | 定数 |
---|---|
1 | IMAGETYPE_GIF |
2 | IMAGETYPE_JPEG |
3 | IMAGETYPE_PNG |
4 | IMAGETYPE_SWF |
5 | IMAGETYPE_PSD |
6 | IMAGETYPE_BMP |
7 | IMAGETYPE_TIFF_II (intel byte order) |
8 | IMAGETYPE_TIFF_MM (motorola byte order) |
9 | IMAGETYPE_JPC |
10 | IMAGETYPE_JP2 |
11 | IMAGETYPE_JPX |
12 | IMAGETYPE_JB2 |
13 | IMAGETYPE_SWC |
14 | IMAGETYPE_IFF |
15 | IMAGETYPE_WBMP |
16 | IMAGETYPE_XBM |
17 | IMAGETYPE_ICO |
image_type_to_extention
画像形式からファイルの拡張子を取得する
第二引数をfalseにするとドット(.)なしの拡張子を返す
getimazesize
//ファイル名から画像形式定数を取得
$img = getimazesize('ファイル名');
//画像形式定数から拡張子を取得
$type = image_type_to_extention($img[2]);
exif_imagetype
$type = image_type_to_extention(exif_imagetype('ファイル名'));
実際の返り値
$arr = array(IMAGETYPE_GIF,
IMAGETYPE_JPEG,
IMAGETYPE_PNG,
IMAGETYPE_SWF,
IMAGETYPE_PSD,
IMAGETYPE_BMP,
IMAGETYPE_TIFF_II,
IMAGETYPE_TIFF_MM,
IMAGETYPE_JPC,
IMAGETYPE_JP2,
IMAGETYPE_JPX,
IMAGETYPE_JB2,
IMAGETYPE_SWC,
IMAGETYPE_IFF,
IMAGETYPE_WBMP,
IMAGETYPE_XBM,
IMAGETYPE_ICO);
foreach ($arr as $value) {
echo image_type_to_extension($value)."\t";
echo image_type_to_extension($value,false)."\n";
}
/*
.gif gif
.jpeg jpeg
.png png
.swf swf
.psd psd
.bmp bmp
.tiff tiff
.tiff tiff
.jpc jpc
.jp2 jp2
.jpx jpx
.jb2 jb2
.swf swf
.iff iff
.bmp bmp
.xbm xbm
.ico ico
*/