tp5中上传图片方法,并生成相应缩略图的方法

//接收上传文件的name

$file = $this->_req->file("upload_head_image");

//将上传的文件移动到public/uploads/user

$info = $file->validate(['size'=>5242880,'ext'=>'jpg,jpeg,png'])->move(ROOT_PATH . 'public' . DS . 'uploads' . DS . 'user');

if($info){
   $pic = new \app\home\model\User();
   $pic_url = $pic->thumbImage($file,$info);
   $user['portrait'] = 'uploads/user/'.$pic_url;
   //print_r($pic_url);exit();

 }

///model中代码如下
     /**
      * [生成用户头像缩略图,180、50]
      * @param  [type] $file [获取上传文件$_FILE]
      * @param  [type] $pic  [上传文件的路径]
      * @return [type]       [返回处理后的文件路径]
      */
    public function thumbImage($file,$pic){
        $image = \think\Image::open($file);
        $getSaveName = str_replace('\\','/',$pic->getSaveName());

$portrait_thumbnail_180= 'uploads/user/'.str_replace($pic->getFilename(),'180_'.$pic->getFilename(),$getSaveName);

$image->thumb(180,180,\think\Image::THUMB_CENTER)->save(ROOT_PATH . 'public' . DS . $portrait_thumbnail_180,null,100,true);
        $portrait_thumbnail_80 = 'uploads/user/'.str_replace($pic->getFilename(),'80_'.$pic->getFilename(),$getSaveName);
        $image->thumb(80,80,\think\Image::THUMB_CENTER)->save(ROOT_PATH . 'public' . DS . $portrait_thumbnail_80,null,100,true);
        $portrait_thumbnail_50 = 'uploads/user/'.str_replace($pic->getFilename(),'50_'.$pic->getFilename(),$getSaveName);

        $image->thumb(50,50,\think\Image::THUMB_CENTER)->save(ROOT_PATH . 'public' . DS . $portrait_thumbnail_50,null,100,true);

if ($image) {
            return $getSaveName;
        }

    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值