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