首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Content-Disposition:并行附件发送文件

使用Content-Disposition:并行附件发送文件
EN

Stack Overflow用户
提问于 2010-03-12 21:45:00
回答 2查看 1.1K关注 0票数 0

我有一个PHP页面,它根据接收到的请求数据将文件发送到浏览器。getfile.php?get=something发送文件A,getfile.php?get=somethingelse发送文件B,以此类推。如下所示:

代码语言:javascript
复制
header('Content-Disposition: attachment; filename='. urlencode($filename));
readfile($fileURL);

它可以工作,除非它一次只能发送一个文件。请求的任何其他文件都是以线性方式发送的。一个在另一个完成后立即开始。

如果用户在下载另一个文件时请求另一个文件,我如何让它并行发送文件?

编辑:我已经尝试通过直接使用两个文件的文件路径同时下载两个文件,并且工作正常,所以Apache和浏览器似乎都没有问题。似乎PHP才是问题所在。顺便说一下,我在页面的开头使用了session_start()。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-03-15 17:26:27

在我完成会话之后开始下载之前添加session_write_close()似乎已经解决了这个问题。

票数 0
EN

Stack Overflow用户

发布于 2010-03-12 21:54:06

这可能取决于他们的浏览器设置、您的服务器设置、PHP或所有这三种设置。大多数浏览器将只处理两个同时连接到同一服务器的HTTP连接,并将其他服务器排队。如果来自同一浏览器的连接超过两个,许多web服务器也会对连接进行排队。如果您正在使用会话,PHP可能会序列化会话中的满足请求(一次只序列化一个活动请求),以最小化争用条件。(我不知道PHP是否能做到这一点;有些人做到了。)

其中两个(服务器和PHP)由您控制;对于浏览器,您无能为力。

有些OT,但您可以始终允许他们选择多个文件,然后将它们发送回一个动态创建的zip (或其他容器格式)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2433073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档