使用PHP同时下载多个文件 - 分叉,套接字

时间:2013-01-06 03:40:05

标签: php file download fork

我正在使用以下代码管理我网站的下载(文件位于验证码后面):http://www.richnetapps.com/php-download-script-with-resume-option/

麻烦的是,在下载文件时,它会锁定网站的其余部分,并且无法同时下载其他文件。 ('锁定'就像在下载过程中尝试访问主页时导致漫长的等待。主页仅在下载完成或取消时出现。这是一个问题,因为有些文件是几个百MB)。

我想要发生两件事:1-能够在下载文件时浏览网站,以及2-能够下载另一个文件(或两个,或三个,或十个......) )同时。

我的直觉是我需要分叉进程,创建一个新进程或打开另一个套接字。但是我离开了我的深度,即使这是正确的方法,我也不知道该怎么做。任何想法的家伙?

非常感谢...

修改---- 我找到了!我在下载脚本中设置标头之前添加了session_write_close()。显然这种行为是由于PHP会话处理 - 更多信息在这里:php simultaneous file downloads from the same browser and same php script(我在询问前搜索和搜索,但显然错过了这篇文章)。 非常感谢....

1 个答案:

答案 0 :(得分:0)

内容分发网络(CDN)将从您的服务器卸载,允许您的服务器处理主页(或其他)页面请求,并允许多个同时下载。对于带宽应该更便宜,对大多数用户来说也许更快。

关键是配置为仅在您的Captcha之后保护文件,而不是像大多数CDN设置一样免费提供。