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()); } } }