尝试使用 PHP 强制下载文件:
header("Content-type: $type" );
header("Content-Disposition: attachment; filename=$name");
header('Content-Length: ' . filesize($path));
它确实适用于低于 32 mb 的文件。对于较大的文件,它只返回归零文件。
显然存在某种限制,但它是由什么设定的呢?使用 Apache 2.2.11 和 PHP 5.3.0。
我在stackoverflow上问了这个问题,但他们说它更适合这里。我个人不确定,因为我不知道首先是什么原因造成的。也许是阿帕奇?
readfile()
在将整个文件流式传输回客户端之前将整个文件缓冲在内存中。在你的php.ini
你可能有memory_limit=32M
要么提高它,要么把文件分成更小的块