php如何从远程URL(流媒体)提供下载?

时间:2012-08-31 13:13:57

标签: php curl readfile

我必须从远程网址提供下载,我不知道文件大小。

到目前为止我遇到的问题

  • 我不知道文件大小

  • 大文件约100 mb

  • 当我使用CURL / readfile / ...为用户提供下载时,PHP等待ful文件,然后显示下载窗口。

如何提供part,stream,chunky downloader?

我想在phpmyadmin上做一些事情 - 如果你下载一个sql导出 - 那么它也会流式传输。

提前致谢。

1 个答案:

答案 0 :(得分:2)

流通常使用小缓冲区完成。假设您将allow_url_fopen设置为true:

$file = fopen('http://example.com/large-file.bin', 'rb');
while (($content = fread($file, 2048)) !== false) { // Read in 2048-byte chunks
    echo $content; // or output it somehow else.
    flush(); // force output so far
}
fclose($file);