gpt4 book ai didi

php - imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error - Laravel

转载 作者:可可西里 更新时间:2023-11-01 01:00:20 25 4
gpt4 key购买 nike

我有以下 2 条路线:-

Route::get('resize/avatar', function() {
$image = 'avatar.jpg';
$target_filename_here = 'thumbnail_'.$image;
$ffs = imagecreatefromjpeg($image);
$size = getimagesize($image);
$dst = imagecreatetruecolor(100,100);
$dds = imagecopyresampled($dst,$ffs,0,0,0,0,100,100,$size[0],$size[1]);
$dn = imagepng($dst,$target_filename_here); // adjust format as needed
imagedestroy($ffs);
imagedestroy($dst);
if($dds) {
return Redirect::to('color/');
} else {
return 'Failed to load the Profile Picture';
}
});


Route::get('color/', function() {
if(file_exists('thumbnail_avatar.jpg')) {
$dest = imagecreatefrompng('transcript.png');
$fn = imagecreatefromjpeg('thumbnail_avatar.jpg');
imagecopy($dest, $fn, 550, 830, 0, 0, imagesx($fn), imagesy($fn));
imagejpeg($dest,"test4.jpg",90);
imagedestroy($dest);
imagedestroy($fn);
return HTML::image('test4.jpg');
} else {
return Redirect::to('resize/avatar');
}
});

我收到错误作为标题,我试图弄清楚,我在哪里创建问题,但找不到它。

我使用的框架是“Laravel 4.2”,但我很确定,它与框架无关,因为函数是纯 php。

对于 TL;DR

我正在尝试创建个人资料图片的缩略图,而不是将其合并到另一张图片。这样做时,我得到:- imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error:

我已经在 stackoverflow 和 google 中搜索过类似我的错误,但我无法找到并调试。

更新: enter image description here

谢谢

常见问题:-

  1. 内存限制?==> 我有足够的内存。

  2. 在函数中使用“@”来隐藏错误?==>没关系。我仍然面临这个问题。

  3. 您尝试过其他图像吗?==> 是的,我已经尝试过其他图像,并且我成功地做到了,它只会产生“生成缩略图”的问题。

我的问题 请自己尝试,使用以下非 laravel 脚本:-

function resizeImage() {
$image = 'avatar.jpg';
$target_filename_here = 'thumbnail_'.$image;
$ffs = imagecreatefromjpeg($image);
$size = getimagesize($image);
$dst = imagecreatetruecolor(100,100);
$dds = imagecopyresampled($dst,$ffs,0,0,0,0,100,100,$size[0],$size[1]);
$dn = imagepng($dst,$target_filename_here); // adjust format as needed
imagedestroy($ffs);
imagedestroy($dst);
if($dds) {
color();
} else {
return 'Failed to load the Profile Picture';
}
}

function colorCheck() {
if(file_exists('thumbnail_avatar.jpg')) {
$dest = imagecreatefrompng('transcript.png');
$fn = imagecreatefromjpeg('thumbnail_avatar.jpg');
imagecopy($dest, $fn, 550, 830, 0, 0, imagesx($fn), imagesy($fn));
imagejpeg($dest,"test4.jpg",90);
imagedestroy($dest);
imagedestroy($fn);
return HTML::image('test4.jpg');
} else {
resizeImage();
}
}

你可以看到错误。

谢谢

最佳答案

我知道我有点晚了,但我遇到了类似的问题,这让我发疯。

要回答你的问题“......我正在努力弄清楚,我在哪里创建问题”......错误是在

$ffs = imagecreatefromjpeg($image);

此错误来自执行这行代码,当上传图像 jpg 然后使用 PHP GD2 库处理它时

我按照下面链接中的解决方案解决了我的问题。

http://anvilstudios.co.za/blog/2010/02/23/imagecreatefromjpeg-gd-jpeg-library-reports-unrecoverable-error/

我希望有人会发现这很有用并节省一些时间。感谢来自 anvilstudios 的 Nico

更新对于那些无法访问链接的人,这里是代码

$file_tempname = null;
if (is_uploaded_file($FILE['tmp_name'])) {
$file_tempname = $FILE['tmp_name'];
}
else{
exit('Wrong file type');
}

$file_dimensions = getimagesize($file_tempname);
$file_type = strtolower($file_dimensions['mime']);

if ($file_type=='image/jpeg'||$file_type=='image/pjpeg'){
if(imagecreatefromjpeg($file_tempname)){
$ffs = imagecreatefromjpeg($file_tempname);
return $ffs;
}
}

关于php - imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error - Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29166698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com