我必须从我不知道文件大小的远程 url 提供下载。
到目前为止我遇到的问题
我不知道文件大小
大文件约 100 mb
当我使用 CURL/readfile/... 为用户提供下载时,PHP 会等待 ful 文件,然后显示下载窗口。
如何提供部分、流、大块下载器?
我想在 phpmyadmin 上做一些事情——如果你下载一个 sql 导出——那么它也会流式传输。
提前致谢。
流式传输通常使用一个小缓冲区来完成。假设您已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);