exif_imagetype

イメージの型を定義する

説明

intfalse exif_imagetype(string $filename)

exif_imagetype を画像の先頭バイトを読み そのサインを調べます。

exif_imagetype は、他の exif 関数がサポートしていないファイル形式で コールされるの防いだり、$_SERVER['HTTP_ACCEPT'] と組み合わせて閲覧者が画像を見る権限を持っているかどうかを調べたりするために 使用可能です。

パラメータ

filename
調べる画像。

戻り値

正しいサインが見つかった場合は適切な定数、それ以外の場合は false を返します。戻り値は getimagesize がインデックス 2 に対して返す値と同じですが、exif_imagetype のほうがずっと早く動作します。

以下の定数が定義されており、exif_imagetype の戻り値を表しています。

Imagetype 定数
定数
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
18 IMAGETYPE_WEBP
19 IMAGETYPE_AVIF

注意:

画像の形式を判別するために必要なだけのバイト数を読み込めない場合、 exif_imagetypeE_NOTICE を発行して false を返します。

変更履歴

バージョン 説明
7.1.0 WebP をサポートしました
8.1.0 AVIF をサポートしました。

例1 exif_imagetype の例

<?php
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) {
    echo 'The picture is not a gif';
}
?>

参考

  • image_type_to_mime_type
  • getimagesize