这是一个在StackOverflow上反复出现的问题,我已经浏览了所有现有的建议,但没有成功。
这是我想要达到的目标:
-访客来到我的网页,我必须给他一个非常大的文件下载。
-该文件位于远程服务器上,并且需要基本认证或Cookie。只有我拥有cookie/凭据。
-我成功地使用wget下载了该文件,然后通过X-sendfile mod (Apache)将其提供给访问者,但它需要等待最终用户下载之前。
-我想尽快提供下载,这意味着我的网站会像某种代理或什么的。
-我尝试使用一堆代码与cURL, fsockopen/feof等,但要么它几乎崩溃Apache一次,要么它是一个阻塞连接(访问者不能浏览网站,只要他还没有完成下载),要么它破坏我的资源,因为php试图把那个巨大的文件在内存中我猜。
总结一下:
-我应该能够尽快提供远程文件下载
-理想情况下,一块一块地/范围一块地提供服务?
附加信息:PHP 5.2.13, Gentoo, libcurl 5.2.13
按块发送需要某种torrent解决方案
我也有同样的问题,但是我无法解决。
但是有一些东西我很确定你可以使用。我不这么做,因为我认为这是肮脏的编码,但既然你很着急,或者10个月前(!),我可以建议你这样做:
Glype代理脚本,是一个强大的基于php的代理。
- 进入admin.php?设置
- 使 Hotlink
- 可能必须禁用Gzip压缩
- 禁用SSL警告
- 禁用
- Check Resume transfers (important)
这些是我能想到的,试试这个然后发送$_POST['u']
到includes/process.php?action=update
应该可以。如果我要测试的话,我会让你知道结果的。
希望能有所帮助