想在一个表单中同时上传三个图片,并且上传到数据表中的三个字段,分别为preview1,preview2,preview3,但是现在只实现了上传一个图片,想请各位大佬帮忙看下应该怎么修改。
1.前端页面
2.后端代码
3.数据库表
回答
是不是你前端input中没有multiple属性啊
我建议你写成异步上传的形式,然后弄三个隐藏的input,把上传的图片地址组合好分别放入到三个input里面。
现在异步上传图片也很方便,不像以前老费劲了。
如果实在不会异步,那你后端处理的时候就要是用循环来,一个一个进行上传,然后再组合地址,提交到数据库。
为什么不用异步多图上传?好用不说,还省心。
我也相似的问题不
多附件 input
或者做成隐藏域 异步上传
这个方法应该是单图上传的,你得,foreach $_POST[‘file’]调用你的这个方法,应该就可以了。
给 input 添加 multiple 属性,如:
后端的这个 $image->upload() 是可以返回一个数组的,因此,你没必要用现在的 if-else 语法,我觉得这样可以:
// 配置略
$images = $imgUpload->upload();
// 是否上传成功
if(!images){
$this->error(); // 其已含 exit;
}
// 处理数据
foreach($images as $image) {
image['path'] = $imgUpload->savePath. $image['savename']
}