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

现在要用thinkphp实现多个文件同时下载,而且要求不能使用打包成zip再下载的方法。跪求大神提供思路... 现在要用thinkphp实现多个文件同时下载,而且要求不能使用打包成zip再下载的方法。跪求大神提供思路 展开
 我来答
百度网友a19d193
推荐于2016-06-14 · TA获得超过3446个赞
知道大有可为答主
回答量:1464
采纳率:100%
帮助的人:1449万
展开全部

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

这种只能js同时弹出多窗口了,例如

<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>

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

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

追问
这是奇葩客户的要求,一定要实现,确实是不能用zip,我本身就不是做这个的,老板要求用别的方法实现也可以,大神能不能帮我想想。。。。
追答
上面不是给你js的办法么?php本身是做不了的,必然要通过js做中介。因为每个浏览器进程只能下载一个文件,php本身不能和浏览器直接交互,所以只有用js了。
你可以点击下载后的php输出上例的js,把 换成$(document).ready事件就行了。
如果想做的更复杂一点就是做个特别的处理,第一个下载的文件在当前窗口打开,其他的在新窗口打开。

其实我是觉得这种事可以沟通,问一下客户为什么不用zip,通常客户是遇到问题后习惯自己想个办法解决,但实际上他的办法有很大的优化空间,沟通很重要。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式