我正在使用带有 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;
这是因为您上传了损坏的图像,而 GD 无法处理此类图像。请在此问题中检查它。
尝试像这样抑制此错误。
ini_set('gd.jpeg_ignore_warning', true);
希望对您有用。