php: jpeg mime 类型 – 未检测到质量为 12 的 photoshop jpeg
php: jpeg mime type – not detected for photoshop jpegs with quality 12
我正在创建一个小型图片上传器表单,没什么特别的。只允许上传 JPG 文件——这是由 php 脚本检查的:
$filesize = getimagesize($targetFile);
if($filesize['mime'] != 'image/jpeg') { ... }
这对大多数 jpg 文件都按预期工作,但我遇到过一些被拒绝的情况。我在这个网站上查看了这些图片:http://mime.ritey.com/
并发现它只是 returns 一个 "Unknown MIME type"
而不是预期的 "image/jpeg"
.
深入挖掘那个无效的图像,我发现它是用 photoshop 和质量设置 12 保存的(不是 "save for web" 对话框,只是常规保存对话框)。
如果我以质量 11 或更低的质量保存此图像,它会被识别为 "image/jpeg"。接下来,如果我拍摄质量为 11 的图像并再次以 12 级重新保存它,它就不再工作了......
据我所知,质量级别 12 并未正式指定用于 jpg,它是 Adobe 的一项发明。所以我想这可能会导致问题。
不过,那些 jpg 仍然存在,那么有没有办法将它们 php 识别为合法的 jpeg 文件?这种口味还有其他哑剧类型吗?或者其他一些检查它们是 jpeg 的方法(文件名后缀除外,这对我的情况来说不够可靠)。
如果 MIME 类型未知,请重新创建图像:
$filesize = getimagesize($targetFile);
if($filesize['mime'] == 'Unknown MIME type')
{
$image = imagecreatefromjpeg($targetFile);
}
我正在创建一个小型图片上传器表单,没什么特别的。只允许上传 JPG 文件——这是由 php 脚本检查的:
$filesize = getimagesize($targetFile);
if($filesize['mime'] != 'image/jpeg') { ... }
这对大多数 jpg 文件都按预期工作,但我遇到过一些被拒绝的情况。我在这个网站上查看了这些图片:http://mime.ritey.com/
并发现它只是 returns 一个 "Unknown MIME type"
而不是预期的 "image/jpeg"
.
深入挖掘那个无效的图像,我发现它是用 photoshop 和质量设置 12 保存的(不是 "save for web" 对话框,只是常规保存对话框)。
如果我以质量 11 或更低的质量保存此图像,它会被识别为 "image/jpeg"。接下来,如果我拍摄质量为 11 的图像并再次以 12 级重新保存它,它就不再工作了......
据我所知,质量级别 12 并未正式指定用于 jpg,它是 Adobe 的一项发明。所以我想这可能会导致问题。
不过,那些 jpg 仍然存在,那么有没有办法将它们 php 识别为合法的 jpeg 文件?这种口味还有其他哑剧类型吗?或者其他一些检查它们是 jpeg 的方法(文件名后缀除外,这对我的情况来说不够可靠)。
如果 MIME 类型未知,请重新创建图像:
$filesize = getimagesize($targetFile);
if($filesize['mime'] == 'Unknown MIME type')
{
$image = imagecreatefromjpeg($targetFile);
}