让访问者一块一块地下载远程文件(范围)


let the visitor download a remote file, chunk by chunk (range)

这是一个在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

应该可以。如果我要测试的话,我会让你知道结果的。

希望能有所帮助