PHP GD Lib - 使用mime type image / png的jpg图像上的imagecreatefromjpeg失败

时间:2014-08-08 12:07:08

标签: php png jpeg mime-types gdlib

当图像上传到我的网站时,我使用gd lib将所有图像转换为jpgs:

$image = imagecreatefrompng($img);
$outputFile = str_replace('png', 'jpg', $img);
unlink($img);
imagejpeg($image, $outputFile, $quality);
imagedestroy($image);

这完全正常,直到我需要复制图像进行裁剪。它在imagecreatefromjpeg()

中失败

使用getimagesize($outputFile)查看图像详细信息我可以看到即使我已成功将png或gif转换为jpg,并且它具有jpg文件扩展名,mime类型仍然是image / png或image / GIF。

例如:

Array
(
    [0] => 250
    [1] => 188
    [2] => 3
    [3] => width="250" height="188"
    [bits] => 8
    [mime] => image/png
)

当我转换为jpg时,如何更改mime类型呢?或者我可以做些什么来阻止它在我需要对图像执行某些操作时失败,例如复制它或使用imagecreatefromjpeg()调整其大小以进行裁剪?

1 个答案:

答案 0 :(得分:0)

你只能在jpg图像上使用imagecreatefromjpeg() 在上面的示例中,要检查创建的输出文件,您必须将代码更改为

   <?php... getimagesize($outputFile); .... ?>


$ img包含您的源文件路径....如果你想从png图像制作一个jpeg副本,imagecreatefrompng(...)然后用imgejpeg(...)输出它就可以了...