©
本文档使用 PHP中文网手册 发布
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
image_type_to_mime_type — 取得 getimagesize,exif_read_data,exif_thumbnail,exif_imagetype 所返回的图像类型的 MIME 类型
$imagetype
)image_type_to_mime_type() 函数可以判断一个 IMAGETYPE 常量的 MIME 类型。
Example #1 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() 。
[#1] slegersjohn at gmail dot com [2014-03-06 16:39:06]
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.
[#2] kissrat at gmail dot com [2013-10-10 05:06:16]
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"
);
[#3] benshelock at gmail dot com [2009-03-09 11:08:17]
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;
}
?>