我正在尝试在某人的网站上添加指向大型视频文件(约 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,因为我确信我不能将内存限制设置为足够高?
非常感谢,
戴夫