0

我有一个 PHP 脚本,它获取图像,检查类型和文件大小,然后创建 2 个调整大小的主图像副本,所有 3 个图像都保存到服务器。我的印象是一切都很好。我正在测试脚本,在一张 jpg 图像上,我得到了 firefox 抛出的错误“内容编码错误”。做一些阅读表明这是一个 Firefox 问题,但在 IE 和 Chrome 中进行测试导致了类似的错误。

奇怪的是,一些 .jpg 文件可以工作,而另一些则不能。对于那些不起作用的错误,当脚本将第二个调整大小的副本编码为主副本并将第一个副本输出到指定文件夹时,就会发生错误。在进行更多阅读后,我检查了图像本身并没有损坏。在允许脚本完全完成的 .jpg 和不允许脚本完全完成的 .jpg 之间,我能注意到的唯一区别是,当在 Windows 中查看失败脚本的属性时,它似乎携带更多数据,例如过去使用的相机,型号等

有谁知道什么可能导致这个错误被抛出?

编辑

这是我正在使用的代码。

$imgsrc = imagecreatefromjpeg($file);
imagecopyresampled($thbout,$imgsrc,0,0,0,0,$thbwid,$thbhei,$width,$height);
imagejpeg($thbout,$thbpath,80);
imagedestroy($thbout);
imagecopyresampled($optout,$imgsrc,0,0,0,0,$optwid,$opthei,$width,$height);
imagejpeg($optout,$optpath,80);
imagedestroy($optout);

今晚玩了一会儿,我通过将代码切换到这个来让它工作。(切换到先创建更大的文件)

$imgsrc = imagecreatefromjpeg($file);
imagecopyresampled($optout,$imgsrc,0,0,0,0,$optwid,$opthei,$width,$height);
imagejpeg($optout,$optpath,80);
imagedestroy($optout);
imagecopyresampled($thbout,$imgsrc,0,0,0,0,$thbwid,$thbhei,$width,$height);
imagejpeg($thbout,$thbpath,80);
imagedestroy($thbout);

所以我想我的新问题变成了,为什么它会这样?

4

0 回答 0