PHP下载/重定向

时间:2013-06-18 19:32:36

标签: php redirect download

好的,这就是我重写它的方式。任何变化?这会有用吗?我已经在超时时添加了Javascript。

if (file_exists($file)) {
    header('Content-Description: File Transfer');
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename='.basename($file));
    header('Content-Transfer-Encoding: binary');
    header('Expires: 0');
    header('Cache-Control: must-revalidate');
    header('Pragma: public');
    header('Content-Length: ' . filesize($file));
    ob_clean();
    flush();
    readfile($file);
}
?> 
<script type="text/Javascript">
window.setInterval(function()
{
    window.location = "www.moneymovers.com";
}, 5000);
</script>:

2 个答案:

答案 0 :(得分:1)

只要没有输出任何内容(回声),您就可以将位置标题放在任何位置。

如果你输出了一些东西,你可以输出这样的东西来重定向:

<script type="text/javascript">
    window.location = "www.example.com";
</script>

编辑:

在你的情况下,据我所知,你无法做你想要的事情。您必须在调用者页面中管理此案例。由于您修改了内容处置,因此不会调用Javascript。

答案 1 :(得分:1)

您无法下载,然后执行标题重定向。一旦看到标题,客户端就会重定向,这意味着下载将无法正常工作。但是你也无法在下载后输出标题,因为这样就不会发生重定向。无论哪种方式,它都无法运作。

我建议在不同的级别上这样做。例如,当用户单击下载链接时,让一些JavaScript在新的选项卡/窗口中开始下载,然后重定向到当前选项卡中的所需位置。