我正在使用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);
我搜索了此问题,但找不到解决方案。
答案 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,这意味着他无法在您的系统中找到您的文件。