jcydd

tp5中文件上传如果没有数据就会报错,所以要先做一个判断

//先接收文件数据

$isfile=$_FILES;
//判断是否上传图片数据,如果没有上传数据二位数组中的name会为空,如下例:
if($isfile[\'brand_logo\'][\'name\']==\'\'){

}else{

}

 

下面是一个完整的图片上传代码

 

if(request()->isPost()){
            $brand=model(\'brand\');
            $data=$_POST;
            $isfile=$_FILES;
            //判断是否上传图片
            if($isfile[\'brand_logo\'][\'name\']==\'\'){
                $res=$brand->add($data);
                if($res[\'valid\']){
                    $this->success($res[\'msg\'],\'lst\');

                }else{
                    $this->error($res[\'msg\']);
                }
            }else{
                $file = request()->file(\'brand_logo\');
                $info = $file->validate([\'size\'=>155678,\'ext\'=>\'jpg,png\'])->move( \'.\static\uploads\brand_logo\');

                if($info){


                    $data[\'brand_logo\']=\'.\static\uploads\brand_logo\\\'.$info->getSavename();
                    $res=$brand->add($data);
                    if($res[\'valid\']){
                        $this->success($res[\'msg\'],\'lst\');

                    }else{
                        $this->error($res[\'msg\']);
                    }
                }else{
                    //输出验证错误提示和图片移动错误提示
                    $this->error($file->getError());
                }
            }



        }

 

分类:

技术点:

相关文章: