我是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标记中附带的下载代码。我怎样才能达到我的指示?请帮忙。你能否提一下我在哪里编写代码行
由于
答案 0 :(得分:1)
下载完成后无法重定向。 Web服务器(将进行重定向)不知道下载何时完成。有一些方法,但它们很难而且不值得。
您应该在下载开始后重定向。
答案 1 :(得分:0)
尝试设置
header("Location: auto_works.html");exit;
而不是
header("refresh: 2; auto_works.html"); exit;
答案 2 :(得分:0)
纯HTTP无法做到这一点。您可以使用下载响应或重定向响应来响应用户请求。
当然,你可以做一些客户端脚本并一次做两件事 - 例如打开一个弹出窗口,导致文件下载并同时在原始窗口中加载新页面。但我不鼓励你这样做,因为它不是用户友好的,可能根本不适用于某些配置。