下载后重定向头

时间:2011-05-11 10:28:47

标签: php redirect header download

我是PHP新手,一步一步地学习它。好吧,我有一个下载页面,我希望在下载完成后重定向。

header('Content-type: application/octet-stream');                 
header('Content-Disposition: attachment; filename="dlink.pdf"');                  
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");                  readfile('dlink.pdf');   
header("refresh: 2; auto_works.html");
exit;

这是我在PHP标记中附带的下载代码。我怎样才能达到我的指示?请帮忙。你能否提一下我在哪里编写代码行

由于

3 个答案:

答案 0 :(得分:1)

下载完成后无法重定向。 Web服务器(将进行重定向)不知道下载何时完成。有一些方法,但它们很难而且不值得。

您应该在下载开始后重定向。

答案 1 :(得分:0)

尝试设置

header("Location: auto_works.html");exit; 

而不是

header("refresh: 2; auto_works.html"); exit;

答案 2 :(得分:0)

纯HTTP无法做到这一点。您可以使用下载响应或重定向响应来响应用户请求。

当然,你可以做一些客户端脚本并一次做两件事 - 例如打开一个弹出窗口,导致文件下载并同时在原始窗口中加载新页面。但我不鼓励你这样做,因为它不是用户友好的,可能根本不适用于某些配置。