如何读取巨大的文件并用PHP输出

kod*_*ode 4 php file

我想用PHP脚本处理大文件(1-2Gb)下载,并找到两种方法:

  1. 使用file_get_contents()
  2. with readfile()

并使用此实现:

header('Content-type: ' . $string);
header('Content-disposition: attachment; filename=' . $info['filename']);
$file = file_get_contents($filename);
echo $file;
or
readfile($filename);
Run Code Online (Sandbox Code Playgroud)

但输出文件需要很长时间.我想在输出开始之前必须重写整个文件.指向文件的确切位置时会更快.然后几乎立即开始输出.

我正在寻找流式传输文件或其他东西的解决方案.有任何想法吗?

Jan*_*nen 6

你应该考虑使用mod_xsendfile