php で画像ファイル形式を判別する方法
の各館数のどれかで取得することが出来る。
各関数とモジュール
各関数はそれぞれがモジュールに含まれている。
関数名 | モジュール名 |
---|---|
getimagesize | GD |
exif_imagetype | Exif |
mime_content_type | FileInfo |
これら関数を使うには、それぞれモジュールがインストールされていることが必要。
モジュールの有無はphpinfo();関数を使って確認する。
値の取り方
それぞれの関数はそれぞれ使い方が異なる
mime_content_type
mime_content_typeはそのものズバリな名前が帰ってくる。
<?php mime_content_type("test.jpg"); #=> "image/jpeg"
getimagesize の場合
<?php $ret = getimagesize("test.php"); echo "/",$ret["mime"]; #=> "image/jpeg" $is_image = explode("/",$ret["mime"])[0] == "image"; //画像判定
exif_imagetype
exif_imagetypeは形式をINT定数で返す
Value Constant
http://jp.php.net/manual/en/function.exif-imagetype.php
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