thinphp5-image图片处理类库压缩图片
使用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下即可解决