
正文
php多个图片上传数据库,php图片批量上传
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
新手请教多个图片上传,怎么写入数据库(PHP)
原理都一样,循环接参,你打印一下它的参数就够就明白了,存储数据库,可以将图片路径之间用|或者逗号,或者json 系列化来存储:
?php
print_r($_FILES);//你可以打印一下它,看看它的结构
if(!empty($_FILES)){
foreach($_FILES['file']['name'] as $k=$v){
//$_FILES["file"]都变成$_FILES["file"][$k]操作进行操作吧
if ($_FILES['file'][$k]['error'] == 0) {
$filetype = array("jpg","JPG");
$arr = explode(".", $_FILES["file"][$k]["name"]);
...//同样的代码
}
}
}
?
form name="" action="" method="post" enctype="multipart/form-data"
input type="file" name="file[]" /br /
input type="file" name="file[]" /br /
input type="file" name="file[]" /br /
input type="file" name="file[]" /br /
input type="file" name="file[]" /br /
input type="file" name="file[]" /br /
input type="submit" name="a" value="提交" /
/form
相关问答
Q1: 请帮忙解决PHP上传多图片,并在数据库写入文件路径的问题,谢谢!
你foreach ($info as $file)里面写的根本没有意义,里面$data['YMT_pic_xx']一直在被覆盖没有其他操作,最后都得到最后一轮的值,而且你数据表里用来储存图片路径的字段应该一条就够了吧,批量上传没有固定的数目;
应该在遍历的时候操作数据库,把每次遍历出来的值都插入到数据库,上传多少张图片就有多少行记录;
不对意外的BUG处理的情况下可以这样写,
foreach ($info as $file){
$data['YMT_pic_0'] = $file['savepath'] . $file['savename'];
$YMT - add($data);
}
Q2: 请问:php如何把上传的多张图片存入数据库的同一个字段中呢?
input type="file[]" name="photo" /
input type="file[]" name="photo" /
input type="file[]" name="photo" /
这样会成为一个数组,存的时候把这个数组用implode() 函数分割成字符串,取出来的时候可以使用explode函数(这个方法存的是路径)
还有一种方法是直接存二进制的,这种方法几乎不用对数据库压力很大,而且删除操作会留下很大的磁盘碎片
但是要了解
给你个电子书上面都有







