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

“可怕的”;警告:imagecreatefromjpeg():'/tmp/filename';不是第xxx行/phpfile.php中的有效JPEG文件;,php,image,image-processing,file-upload,upload,Php,Image,Image Processing,File Upload,Upload,当一些人将图片上传到我们的网站时,我收到了这个警告: 警告:imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd jpeg:jpeg库报告 不可恢复的错误:在 /home/pathremoved/includes/snapsutils.php 在线220 警告:imagecreatefromjpeg() [function.imagecreatefromjpeg]: “/tmp/phpiw4MFk”不是有效的JPEG 第行/home/p

当一些人将图片上传到我们的网站时,我收到了这个警告:

警告:imagecreatefromjpeg() [function.imagecreatefromjpeg]: gd jpeg:jpeg库报告 不可恢复的错误:在 /home/pathremoved/includes/snapsutils.php 在线220

警告:imagecreatefromjpeg() [function.imagecreatefromjpeg]: “/tmp/phpiw4MFk”不是有效的JPEG 第行/home/pathremoved.php中的文件 220

警告:imagesx():提供的参数 不是中的有效图像资源 /第222行的home/pathremoved.php

警告:imagesy():提供的参数 不是中的有效图像资源 /第223行的home/pathremoved.php

警告:ImageCreateTureColor() [function.imageCreateTureColor]: 中的图像维度无效 /第240行的home/pathremoved.php

警告:imagecopyresampled(): 提供的参数不是有效的图像 上的/home/pathremoved.php中的资源 第242行

这只发生在某些图片上,在任何程序中打开都可以,它甚至可以毫无问题地上传到我在localhost上的站点版本…我在Google上搜索了一下,但没有发现任何结论

注:php上传最大尺寸为5M,发布最大尺寸为5M。这不是上载或内存问题。我测试了4M图像,没有问题


非常感谢您的帮助。

此图像会向Firefox(3.6.10)中的服务器发出无休止的请求。
Firefox说它包含错误。

我在谷歌上搜索了一下后发现。与其他程序相比,GD库似乎对有缺陷的JPEG文件的容忍度较低。建议的解决方案是将GD设置为在处理图像之前忽略JPEG错误,如下所示:

ini_set("gd.jpeg_ignore_warning", 1);
希望这对你有用。您可能遇到的另一个潜在问题与内存有关。GD似乎在打开所有图像后将其作为位图保存在内存中。这意味着一个5MB的映像实际上会消耗比单个PHP线程所允许的内存更多的内存,从而导致致命错误。我在上传一些图像时遇到了这个问题,为了避免这个问题,我不得不减小允许的最大文件大小


祝你好运,希望这会有所帮助。

我也面临同样的问题

我们使用了下面的代码来解决这个问题,它对我很有效

...
$image = @ImageCreateFromJpeg($image_name);
if (!$image)
{
   $image= imagecreatefromstring(file_get_contents($image_name));
}
...

希望这对你有帮助…:)

这是一个很大的形象!!!这可能是原因吗?不,我上传了高达5mb的图像,没有问题。图像中唯一突出的一点是它是一个渐进式JPEG,但GD不应该有问题。这不是CMYK图像或什么都不是。重新保存后它能工作吗?我刚刚在firefox mac(3.5.11)上试用过,它可以正常打开。还有chrome,IE8没有问题…是的,我可以查看图像,但加载永远不会结束,如果我尝试停止,则会出现上述错误。感谢您的提示,我将其放入,但不幸的是没有解决问题。很抱歉,这不起作用。我刚刚在PHP手册的imagecreatefromjpeg页面上找到了这一点:“我发现:imagecreatefromjpeg用于.JPEG和.JPG结尾&imagecreatefromjpeg用于.JPEG和.JPG结尾。该函数区分大小写。”会是这样吗?我还没试过,所以说不出是不是这样。另外,如果您的web服务器安装了ImageMagick和Imagick扩展,您可以尝试一下,看看是否有相同的错误……手册中也有这样的注释:“如果您遇到此错误:”警告:imagecreatefromjpeg():gd jpeg:jpeg库报告无法恢复的错误“然后检查JPEG文件。如果它们以CMYK格式保存(而不是RGB),则GD将无法加载它们(使用GD 2.0.12进行测试)“。最后,有人评论说,某些相机拍摄的图像会将额外信息写入JPEG标题,从而导致问题。希望这些想法中的一个能解决你的问题https://foo/ABC123');这是
image/png