欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

多文件上传一步到位

程序员文章站 2022-05-24 14:12:07
...
模板页面使用的是jquery ajax写的一个上传功能,调用的是thinkphp提供的上传类,
在这里给大家提供一个思路,毕竟本人不是很牛的人,有的地方写的可能不合理,希望牛人看了可以给优化一下代码,总而言之实现了自己想做的内容,
这里已我开发的项目为准:
1.首先新建一个方法,引入类
多文件上传一步到位
这个类里是处理上传的文件
2.在模板页面写入自己的前台页面,根据自己的项目创建不同的页面,这里一笔带过
多文件上传一步到位
可以看到这里其实已经可以上传成功了,如果不放心可以查看下上传的目录
多文件上传一步到位
进入已经上传到文件目录里了,那么接下来就是写入数据库里操作了
因为是jquery ajax写的模板文件,所以name值都是一样的,咱们用浏览器调试模式可以看到
多文件上传一步到位
新建个处理表单的方法处理这些内容
因为是咱们提交的文件name值都是一样的,所以你打印查看的时候会只显示最后提交的文件,咱们用这个获取file_get_contents("php://input");post值,

多文件上传一步到位
然后处理下它的格式让它成为数组array(5) {
[0] => string(60) "/Uploads/vod/2016-09-19/1a5b6a425298469c7d9a9e7a46985787.mp3"
[1] => string(60) "/Uploads/vod/2016-09-19/21541962b9f22fc2d120c13ddee2490f.mp3"
[2] => string(60) "/Uploads/vod/2016-09-19/1a3c11d2def2a7b6d3a58859560885b2.mp3"
[3] => string(60) "/Uploads/vod/2016-09-19/dcde4d039151281685f34cf0dfb8499d.mp3"
[4] => string(60) "/Uploads/vod/2016-09-19/612f20f2a5b4bd79d437b71f49ec2a9d.mp3"
}
最后$countarray=count($mp);
//处理多文件上传文件个数
for($k=0;$k $section=M('section');
$data=array();
$data['name'] =第.$k.集;
$data['url'] = $mp[$k];
$data['time'] = time();
$data['uid'] = $this->memberinfo['userid'];
$data['vid'] = $_GET['vod_id'];
$section->add($data);
这样的话就会直接更新到数据库中了