thinkphp5.1表单中有上传图片,没有上传 提交会出错 没有文件被上传

 $files=request()->file('face');
//使用这个代码,没有文件上传会报错

[0] Exception in Request.php line 1266
没有文件被上传!

可以这样写

 if(!empty($_FILES['face']['name'])){
                $data['goods_logo']= $this->upload_logo();
                $goods=GoodsModel::find($data['id']);
             }else{
                unset($data['goods_logo']);
             }

也可以这样写

            if(request()->file()){
                $data['goods_logo']= $this->upload_logo();
                $goods=GoodsModel::find($data['id']);
             }else{
                unset($data['goods_logo']);
             }

上传文件方法

    public function  upload_logo(){
        //返回图片的路径
            $file = request()->file('face');
            if(empty($file)){
                $this->error('没有上传图片');
            }
            $info = $file->validate(['size'=>10*1024*1024,'ext'=>'jpg,png,gif'])->move( '../uploads');
            if($info){
                // 成功上传后 获取上传信息
                // 输出 jpg
               $goodslogo= $info->getSaveName();

               //生成缩略图
               $goodlogofull='../uploads/'.$goodslogo;
               $image =\think\Image::open($goodlogofull);
                $image->thumb(300,300)->save($goodlogofull);
                return $goodslogo;

            }else{
                // 上传失败获取错误信息
                return $this->error($file->getError());
            }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值