用php image magician调整图像大小

时间:2018-11-11 19:52:10

标签: php image

我正在使用PHP IMAGE MAGICIAN调整网站图像的大小。

当我尝试使用扩展名更改图像大小(例如,将image.jpg更改为image.gif)时,该函数返回错误,因为在这种情况下该图像无效。我想避免这个错误。

我尝试了很多方法来检查图像是否有效,但是没有成功。

出现的错误是:

  

“文件   /Users/.../uploads/1541963916_4dd672e5f3a3060ced41f3f7975453c9.gif是   丢失或无效”

我上传到网站的每张图片都将重命名为带有扩展名的新文件名。

这是我正在使用的代码的一部分。

$workWithImage = new imageLib(UPLOADS_DIR . $original);
$workWithImage->resizeImage($width, $height, $type);
$workWithImage->saveImage(UPLOADS_DIR . $thumbnail, $imageQuality);

我搜索了此问题,但找不到解决方案。

2 个答案:

答案 0 :(得分:0)

不幸的是,从源代码上看,这个库似乎根本无法处理这种情况。您可以在库主页上创建错误报告。您可以做的是比较文件的mime类型及其扩展名,然后自己进行错误处理或重命名文件名以获取正确的扩展名。该库使用的Mime类型检测代码为

$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimeType = finfo_file($finfo, $file);
finfo_close($finfo);
switch($mimeType) {
    case 'image/jpeg':
    case 'image/gif':
    case 'image/png':
    case 'image/bmp':
    case 'image/x-windows-bmp':
        $isImage = true;
        break;
    default:
        $isImage = false;
}

答案 1 :(得分:0)

您的文件路径无效。

您遇到路径错误,例如:“ / Users /.../ uploads / 1541963916_4dd672e5f3a3060ced41f3f7975453c9.gif” 在/ Users /之后,您还有三个点“ ...”,这是不能通过的..点,用于向后折叠文件夹。还有一个点。用于根目录。

您的Errocode说:“文件/Users/.../uploads/1541963916_4dd672e5f3a3060ced41f3f7975453c9.gif丢失或无效” Ist无效的PATH,这意味着他无法在您的系统中找到您的文件。