image_type_to_mime_type()
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
取得 getimagesize,exif_read_data,exif_thumbnail,exif_imagetype 所返回的图像类型的 MIME 类型
说明
image_type_to_mime_type(int $imagetype): string
image_type_to_mime_type()函数可以判断一个 IMAGETYPE 常量的 MIME 类型。
image_type_to_mime_type(file)
<?php header("Content-type: " . image_type_to_mime_type(IMAGETYPE_PNG)); ?>
返回值如下:
图像类型($imagetype) | 返回值 |
---|---|
IMAGETYPE_GIF | image/gif |
IMAGETYPE_JPEG | image/jpeg |
IMAGETYPE_PNG | image/png |
IMAGETYPE_SWF | application/x-shockwave-flash |
IMAGETYPE_PSD | image/psd |
IMAGETYPE_BMP | image/bmp |
IMAGETYPE_TIFF_II (intel byte order) | image/tiff |
IMAGETYPE_TIFF_MM (motorola byte order) | image/tiff |
IMAGETYPE_JPC | application/octet-stream |
IMAGETYPE_JP2 | image/jp2 |
IMAGETYPE_JPX | application/octet-stream |
IMAGETYPE_JB2 | application/octet-stream |
IMAGETYPE_SWC | application/x-shockwave-flash |
IMAGETYPE_IFF | image/iff |
IMAGETYPE_WBMP | image/vnd.wap.wbmp |
IMAGETYPE_XBM | image/xbm |
Note:本函数不需要 GD 库。
参见getimagesize(),exif_imagetype(),exif_read_data()和exif_thumbnail()。
If you are working with Images only and you need mime type (e.g. for headers), then this is a fast and reliable technique: <?php $file = 'path/to/image.jpg'; $image_mime = image_type_to_mime_type(exif_imagetype($file)); ?> It will output true image mime type even if you rename your image file.
I was looking to detect the format of images, Im not sure if this is the best way but it works for me. <?php $filename = 'http://static.php.net/www.php.net/images/php.gif'; $size = getimagesize($filename); switch ($size['mime']) { case "image/gif": echo "Image is a gif"; break; case "image/jpeg": echo "Image is a jpeg"; break; case "image/png": echo "Image is a png"; break; case "image/bmp": echo "Image is a bmp"; break; } ?>
Map the image type enum to file extension: $extensions = array( IMAGETYPE_GIF => "gif", IMAGETYPE_JPEG => "jpg", IMAGETYPE_PNG => "png", IMAGETYPE_SWF => "swf", IMAGETYPE_PSD => "psd", IMAGETYPE_BMP => "bmp", IMAGETYPE_TIFF_II => "tiff", IMAGETYPE_TIFF_MM => "tiff", IMAGETYPE_JPC => "jpc", IMAGETYPE_JP2 => "jp2", IMAGETYPE_JPX => "jpx", IMAGETYPE_JB2 => "jb2", IMAGETYPE_SWC => "swc", IMAGETYPE_IFF => "iff", IMAGETYPE_WBMP => "wbmp", IMAGETYPE_XBM => "xbm", IMAGETYPE_ICO => "ico" );