PHP TP5 实现图片上传到本地并完成缩略图制作
图片上传:
public function upload(){ // 获取表单上传文件 例如上传了001.jpg $file = request()->file('image');//image为前端表单的名字 // 移动到框架应用根目录/public/uploads/ 目录下 if($file){ $info = $file->move(ROOT_PATH . 'public' . DS . 'uploads'); if($info){ // 成功上传后 获取上传信息 // 输出 jpg echo $info->getExtension(); // 输出 20160820/42a79759f284b767dfcb2a0197904287.jpg echo $info->getSaveName(); // 输出 42a79759f284b767dfcb2a0197904287.jpg echo $info->getFilename(); }else{ // 上传失败获取错误信息 echo $file->getError(); } } }
图片验证:在$info=$file后加:validate(['size'=>15678,'ext'=>'jpg,png,gif'])(注:size为图片大小 ext为图片格式) 示例如下:
$info = $file->validate(['size'=>15678,'ext'=>'jpg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'uploads');
制作缩略图:
1.利用composer安装thinkPHP5的图像处理工具
composer require topthink/think-image
2.在if判断成功中
$image = \think\Image::open('./image.png'); // 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.png $image->thumb(150, 150)->save('./thumb.png'); //两个括号中的路径要自行拼写