PHP标题和下载

时间:2011-12-08 20:34:14

标签: php apache header download

我目前正在尝试开发一个PHP应用程序,我的服务器在其中下载文件,用户几乎可以同时执行相同操作。我已经考虑过问题“如果用户快速下载服务器......”,但此时此问题并非如此。 为此,我使用了php的头文件和readfile函数。这是我的代码:

header('Content-Type: application/octet-stream'); 
header('Content-Disposition: attachment; filename="'.$data['name'].'";'); 
header('Content-Transfer-Encoding: binary'); 
header('Content-Length: '.$data['size']);
readfile($remoteFile);

我必须使用Content-length标头来设置文件的正确大小,而不是用户点击链接时下载的大小。但是,几秒钟或几分钟后,下载停止,我需要重新启动... 如果你考虑一个解决方案,即使它没有使用header();功能,请告诉我。

提前谢谢你......

1 个答案:

答案 0 :(得分:0)

我经历过,这与最大运行时设置直接相关,如果你运行safe_mode,则会强制执行。

如果您有此选项,请尝试设置set_time_limit(0)并查看是否有效。

如果您有自己的服务器,则应该查看mod_xsendfile模块以获取apache,因为它专门用于向用户发送大文件。

哦,它的使用非常简单

header("X-Sendfile: $path_to_somefile");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"$somefile\"");
exit;