【mysql】thinkphp3.2.3上传多个图片并将传到同一个数据表的三个字段
想在一个表单中同时上传三个图片,并且上传到数据表中的三个字段,分别为preview1,preview2,preview3,但是现在只实现了上传一个图片,想请各位大佬帮忙看下应该怎么修改。
1.前端页面
2.后端代码
3.数据库表
回答
是不是你前端input中没有multiple属性啊
我建议你写成异步上传的形式,然后弄三个隐藏的input,把上传的图片地址组合好分别放入到三个input里面。
现在异步上传图片也很方便,不像以前老费劲了。
如果实在不会异步,那你后端处理的时候就要是用循环来,一个一个进行上传,然后再组合地址,提交到数据库。
这里有文档:http://document.thinkphp.cn/m...
为什么不用异步多图上传?好用不说,还省心。
我也相似的问题不
多附件 input <input type='file' name='photo[]'>
或者做成隐藏域 异步上传
这个方法应该是单图上传的,你得<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']
}
以上是 【mysql】thinkphp3.2.3上传多个图片并将传到同一个数据表的三个字段 的全部内容, 来源链接: utcz.com/a/75739.html