想要在使用CodeIgniter完成下载时加载页面

时间:2012-08-18 20:45:05

标签: php codeigniter download

我有一个控制器: -

function game_file($filename)
    {      
        $file_path = base_url()."resources/games_application/$filename";
        header('Content-Type: application/octet-stream');
        header("Content-Disposition: attachment; filename=$filename");
        ob_clean();
        flush();
        readfile($file_path);
        redirect('downloads');  //This is not working 
    }

我的观点是: -

<a href='".base_url()."downloads/game_file/".$games_data['file_name']."'>Download<a/>

我可以下载文件,但问题是在下载后我想重定向到download控制器。这仅下载我的文件,但在下载完成后不会重定向。我做错了吗?

编辑: - 我知道我无法重定向,因为标头已经发送,所以有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

您提出的建议将从不工作。因为redirect()是标题操作,您已经设置了标题。但这只是一个问题。

您无法设置文件的下载,然后将页面重定向到其他位置!需要重新思考你的过程。也许从主下载页面做一个javascript捕获'下载'动作。

但是...... redirect('downloads'); //This is not working永远不会奏效。