首页 > 技术文章 > thinphp5-image图片处理类库压缩图片

wenbino 2019-03-30 14:44 原文

使用tp5的thinkphp-image类库处理图片

使用方法手册都有,为了增加印象我自己记录一下

手册:https://www.kancloud.cn/manual/thinkphp5/177530

我的需求是在app的管理后台上传压缩的图片

//图片压缩上传
public function upload()
{
$file = $this->request->file('file');
// 移动路径
$upload_path = 'public/uploads/';
//缩略保存路径
$save_path = 'public/uploads/';
//移动至  $upload_path
$info = $file->validate(['ext' => 'jpg,gif,png,bmp,jpeg,JPG'])->move($upload_path);

//打开移动的图片
$image = \think\Image::open($save_path.$info->getSaveName());

//压缩图片
$image->thumb(200, 200)->save($save_path.$info->getSaveName());

if($info){
$result['code'] = 1;
$result['info'] = '图片上传成功!';
$path=str_replace('\\','/',$info->getSaveName());
//保存到数据库路径
$result['url'] = '/public/uploads/'. $path;
return $result;
}else{
// 上传失败获取错误信息

$result['code'] =0;
$result['info'] = $file->getError();
$result['url'] = '';
return $result;
}
}
 
我这里的返回格式是后台页面定义接收的,你们自己根据需求修改
如果出现 找不到 thinkphp\Image  则将vendor/topthink/think-image/src下的image文件和image.php复制到thinkphp\library\think下即可解决

推荐阅读