怎样用多文件php实现多文件下载?

怎样用多文件php实现多文件下载?,第1张

好可怜啊,谁给你的任务,这个是不可能的,和框架、语言都没关系,是不是你的上级看庆做错了文档啊,人家要求多个文件用zip打包下载(比如把文档中的“别忘了用zip”看成“别用zip”)

这种只能js同时d出多窗口了拆差迹,例如

<form class="download_form" target="download_url_1" action="download_url_1"></form>

<form class="download_form" target="download_url_2" action="download_url_2"></form>

...

<button onclick="$('form.download_form').each(function(){this.submit()})" type="button">点</button>

只要下载是正常的,这种d出会在用户 *** 作后(下载或取消)自动消失的。但是用户要一个一个点还是很差劲的用户体验。

window.open也行,但是容易受浏览器d窗设置影响,所以旅并不建议。

这个要利用javascript技巧才行,厅陆单独的PHP是无法实现的扮枝顷,经过我的测试,下面的代码可以实现同时下载多个文件:<scriptlanguage=javascriptvarurls=newArray('result.xls','201110x.rar','a.exe')for(iinurls)document.write('<aid=d'+i+'href='+urls[i]+'target=_blankx</a')for(iinurls)document.getElementById('d'+i).click()</script你PHP程序输出这样的代码就可以,主搭誉要是用for循环生成第二行urls数组的定义。

写这样的代码没有多少难度。其实文件类型与上传和下载真的没有关系,无论什么类型都是相同的代码上传和下载。在我看来,你现在难题在于一个字段(例如三维图纸)有多个文件,这使得上传和下载的控制代码非常繁杂。有一个简便的建议,就是一类文件(一个数据库字段)只允许用户上传一个文件,用户 *** 作中必须把此类文件进行打包后上传,下载后也需要解包才能使用,这样你的代码就变得简单多了。

如果你一定需要一类文件允许上传多个,也是有办法做到的,多乎败李个文件的名称使用符号连接岁迟为字符串后保存到数据库里面,例如a.jpg|b.jpg|c.jpg这样的三个文件用|分开,上传的页面使用JS代码控制增加<FORM>的<INPUT TYPE=FILE>域。

最完美的实现上传文件夹,不过那不是PHP能实现的,需要编写网页控件(本质上是在客户端枯培运行的代码),兼容性也差。

写程序可以理解为织毛衣,把一根毛线弄成一件衣服是非常耗费时间的,如果你自己编织的时候遇到哪朵花怎么设计的问题,大家非常乐意帮你出主义,如果你是想有人整件毛衣帮你织好,这可能要靠缘分了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12227462.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存