我想在某人的网站上添加一个下载链接到大型视频文件(大约300MB),但不幸的是他们在共享主机上(我告诉他们,他们必须升级,如果他们让很多人下载它)。我不希望人们有“目标另存为”和我通常使用这个代码强制下载:在共享服务器上强制下载大文件
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // some day in the past
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename={$file}");
header("Content-Transfer-Encoding: binary");
readfile($file);
这正常工作与较小的文件,但不与较大的,甚至转向错误在我拿到后没有错误,也没有错误日志。我确定这是与共享内存限制(或者可能是超时)有关,但是有谁知道我如何去强制下载共享服务器上的大文件,理想情况下没有JavaScript,因为我确信我无法使用将内存限制设置得足够高?
非常感谢,
戴夫
无关:删除“内容传输 - 编码”。它不存在于HTTP中。 –