【mysql】thinkphp3.2.3上传多个图片并将传到同一个数据表的三个字段

想在一个表单中同时上传三个图片,并且上传到数据表中的三个字段,分别为preview1,preview2,preview3,但是现在只实现了上传一个图片,想请各位大佬帮忙看下应该怎么修改。
1.前端页面
【mysql】thinkphp3.2.3上传多个图片并将传到同一个数据表的三个字段
2.后端代码

【mysql】thinkphp3.2.3上传多个图片并将传到同一个数据表的三个字段

3.数据库表

【mysql】thinkphp3.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

回到顶部