尝试下载文件时Apache冻结了吗?

时间:2013-03-07 12:53:50

标签: php apache file download

当我尝试从http://timmytheterror.com/home/music_detail/233

下载音乐文件时

使用用户名登录:amar密码:123456开始下载但是apache停止处理其他请求。在下载完成之前我无法访问其他页面。我的下载编码是

$ path = base64_decode($ path); $ id = base64_decode($ id);

        $file_path= "http://timmy-the-terror.s3.amazonaws.com/".$path;

        header('Content-Type: application/octet-stream');
        header("Content-Transfer-Encoding: Binary"); 
        header("Content-disposition: attachment; filename=\"".$path."\""); 
    header("Cache-Control: public");
    header("Location: $file_path");
    readfile($file_path); 

我在单独的窗口中打开它,但仍然父窗口停止响应。

1 个答案:

答案 0 :(得分:1)

尝试添加session_write_close();到下载脚本。它将停止进一步写入您的会话并允许其他使用该会话的脚本/页面继续。

session_write_close();
$file_path= "http://timmy-the-terror.s3.amazonaws.com/".$path;

header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary"); 
header("Content-disposition: attachment; filename=\"".$path."\""); 
header("Cache-Control: public");
header("Location: $file_path");
readfile($file_path);