• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 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_GIFimage/gif
    IMAGETYPE_JPEGimage/jpeg
    IMAGETYPE_PNGimage/png
    IMAGETYPE_SWFapplication/x-shockwave-flash
    IMAGETYPE_PSDimage/psd
    IMAGETYPE_BMPimage/bmp
    IMAGETYPE_TIFF_II(intel byte order)image/tiff
    IMAGETYPE_TIFF_MM(motorola byte order)image/tiff
    IMAGETYPE_JPCapplication/octet-stream
    IMAGETYPE_JP2image/jp2
    IMAGETYPE_JPXapplication/octet-stream
    IMAGETYPE_JB2application/octet-stream
    IMAGETYPE_SWCapplication/x-shockwave-flash
    IMAGETYPE_IFFimage/iff
    IMAGETYPE_WBMPimage/vnd.wap.wbmp
    IMAGETYPE_XBMimage/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"
    );