downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

exif_read_data> <Exif 関数
Last updated: Fri, 06 Nov 2009

view this page in

exif_imagetype

(PHP 4 >= 4.3.0, PHP 5)

exif_imagetypeイメージの型を定義する

説明

int exif_imagetype ( string $filename )

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

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

パラメータ

filename
調べる画像。

返り値

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

変更履歴

バージョン 説明
4.3.2 JPCJP2JPXJB2XBM および WBMP がサポートされます。
4.3.0 SWC がサポートされます。

定義済み定数

以下の定数が定義されており、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

例1 exif_imagetype() の例

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

参考



exif_read_data> <Exif 関数
Last updated: Fri, 06 Nov 2009
 
add a note add a note User Contributed Notes
exif_imagetype
tom dot ghyselinck at telenet dot be
13-Jan-2008 06:36
If the function exif_imagetype() is not available,
you can try the following workaround:

if ( ! function_exists( 'exif_imagetype' ) ) {
    function exif_imagetype ( $filename ) {
        if ( ( list($width, $height, $type, $attr) = getimagesize( $filename ) ) !== false ) {
            return $type;
        }
    return false;
    }
}
Tim
20-Nov-2007 01:40
By trial and error, it seems that a file has to be 12 bytes or larger in order to avoid a "Read error!".  Here's a work-around to avoid an error being thrown:

// exif_imagetype throws "Read error!" if file is too small
if (filesize($uploadfile) > 11)
    $mimetype = exif_imagetype($uploadfile);
else
    $mimetype = false;
10-Nov-2006 09:43
Seems to give a 'Read error' warning if the size of the file is very small (2 bytes). I think this is because it needs a min 3 bytes to determine the file type
tom at tomvergote dot be
08-Feb-2004 07:11
libexif can also be used to parse image info out of id3 tags:

exif_read_data("mp3_with_2.4ID3TAGS, '', true, false);
tilmauder at yahoo dot com
06-Jul-2003 08:57
After looking for hours, I found a very good source for exif related programs here: http://drewnoakes.com/code/exif/index.html
It lists exif specifications (pdf), a few good links to exif related stuff. The best source I have found in my quest to understand exif better for use in php based exif tools.

exif_read_data> <Exif 関数
Last updated: Fri, 06 Nov 2009
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites