如何使用PHP了解图像编码

时间:2013-03-17 11:05:39

标签: php image

我想知道是否有办法知道图像的编码方式。我的情况是这样的,

我有2个'.jpg'文件,说'a.jpg'和'b.jpg'。我可以打开这两个图像。但问题是,b.jpg实际上是'b.png',我刚将其重命名为'b.jpg'。

问题是,如何知道'b.jpg'实际上是使用PHP的PNG图像文件?

谢谢..

3 个答案:

答案 0 :(得分:2)

exif_imagetype() ......例如

exif_imagetype('a.jpg')应返回2

exif_imagetype('b.jpg')应返回3

请参阅以下列表以查看哪个值涉及哪种编码:

价值常数

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

答案 1 :(得分:0)

寻找文件的mime类型。

http://www.php.net/manual/en/function.finfo-file.php

<?php
$finfo = finfo_open(FILEINFO_MIME_TYPE); // return mime type ala mimetype extension
echo finfo_file($finfo, 'b.jpg'); // image/png
finfo_close($finfo);

答案 2 :(得分:0)

http://php.net/manual/en/function.exif-imagetype.php

这应该是你正在寻找的。

在PHP.net上给出示例:

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