imagecreatefromjpeg():gd-jpeg,libjpeg:可恢复的错误:JPEG文件的过早结束

时间:2015-04-22 10:48:27

标签: laravel-4 intervention

我正在使用带有laravel 4.2的干预/图像模块,上传我正在使用此代码的图像:

if (Input::hasFile('image'))
        {
            $file = Input::file('image');
            $file->move('uploads/2/', $file->getClientOriginalName());
            $image = Image::make(sprintf('uploads/2/%s', $file->getClientOriginalName()))->resize(120, 120)->save();
            return 'yes';
        }

有些图像可以使用,有些图像会产生这个错误:

imagecreatefromjpeg(): gd-jpeg, libjpeg: recoverable error: Premature end of JPEG file 

switch ($info[2]) {
            case IMAGETYPE_PNG:
                $core = imagecreatefrompng($path);
                $this->gdResourceToTruecolor($core);
                break;

            case IMAGETYPE_JPEG:
                $core = imagecreatefromjpeg($path);
                $this->gdResourceToTruecolor($core);
                break;

1 个答案:

答案 0 :(得分:0)

这是因为您上传了损坏的图片,GD无法处理这类图片。请在this issue中查看。

尝试像这样抑制此错误。

ini_set('gd.jpeg_ignore_warning', true);

希望它对你有用。