Dragon-v

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');
    //两个括号中的路径要自行拼写

posted on 2021-08-18 20:12  Dragon-v  阅读(190)  评论(0编辑  收藏  举报