我想知道是否有办法知道图像的编码方式。我的情况是这样的,
我有2个'.jpg'文件,说'a.jpg'和'b.jpg'。我可以打开这两个图像。但问题是,b.jpg实际上是'b.png',我刚将其重命名为'b.jpg'。
问题是,如何知道'b.jpg'实际上是使用PHP的PNG图像文件?
谢谢..
答案 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
这应该是你正在寻找的。 p>
在PHP.net上给出示例:
<?php
if (exif_imagetype('image.gif') != IMAGETYPE_GIF) {
echo 'The picture is not a gif';
}
?>