可怕的“警告:imagecreatefromjpeg():’/ tmp / filename’不是xxx行/phpfile.php中的有效JPEG文件”

前端之家收集整理的这篇文章主要介绍了可怕的“警告:imagecreatefromjpeg():’/ tmp / filename’不是xxx行/phpfile.php中的有效JPEG文件”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当有人将图像上传到我们的网站时,我一直收到此警告:

Warning: imagecreatefromjpeg()
[function.imagecreatefromjpeg]:
gd-jpeg: JPEG library reports
unrecoverable error: in
/home/pathremoved/includes/snapsutils.PHP
on line 220

Warning: imagecreatefromjpeg()
[function.imagecreatefromjpeg]:
‘/tmp/PHPiw4MFk’ is not a valid JPEG
file in /home/pathremoved.PHP on line
220

Warning: imagesx(): supplied argument
is not a valid Image resource in
/home/pathremoved.PHP on line 222

Warning: imagesy(): supplied argument
is not a valid Image resource in
/home/pathremoved.PHP on line 223

Warning: imagecreatetruecolor()
[function.imagecreatetruecolor]:
Invalid image dimensions in
/home/pathremoved.PHP on line 240

Warning: imagecopyresampled():
supplied argument is not a valid Image
resource in /home/pathremoved.PHP on
line 242

这只发生在某些图像上,在任何程序中打开都可以,它甚至上传到我在localhost上的网站版本没有问题…我google了一下,但没有发现任何结论…

注意PHP upload_max大小为5M,post_max_size为5M.这不是上传或内存问题.我已经测试了4M图像没有问题.

任何帮助赞赏.

在Google上进行了一些挖掘之后我发现了 this bug report.似乎GD库对错误的JPEG文件的容忍程度低于其他程序.建议的解决方案是在处理图像之前将GD设置为忽略JPEG错误,如下所示:
ini_set("gd.jpeg_ignore_warning",1);

希望这对你有用.您可能遇到的另一个潜在问题是与记忆有关.看起来GD一旦打开就将所有图像保存在内存中作为位图.这意味着5MB映像实际上可以比允许单个PHP线程消耗更多内存,从而导致致命错误.我有一些图像上传的问题,并不得不减少我允许解决问题的最大文件大小.

祝你好运,希望有所帮助.

原文链接:https://www.f2er.com/php/132648.html

猜你在找的PHP相关文章