指定上传表单名称 $file = request()->file('表单内名称')
上面是tp5.1中上传文件时的接收方法, 在开发新闻系统时,文章的编辑是必须的功能. 在用户上传新缩略图时需要判断用户有没有选择图片.
选择: 替换旧缩略图
没选: update方法是需要忽略图片字段 (假设是 pic)
正确的代码如下
if(Request::method() == "POST"){ //post请求
$data = Request::post(); //接收post 不包括file
//处理上传图片问题
$file = request()->file(''); //这里是重点 file()和file('') 是二回事,务必请使用file('')判断 file接收的数组为空
//var_dump($file);
//exit();
if(empty($file)){
unset($data['Uppic']);
}else{
$data['Uppic'] = $this->fileUp();
}
$result = $this->validate($data,[
'title_cn' => 'require|max:35',
'order_no' => 'number',
]);
if(true !== $result){
$this->error($result);
}
Db::name("news")
->where("id","=",$id)
->data($data)
->update();
$this->success("更新成功");
exit();
如此达到编辑新闻的功能要求.