HTML表单转到新页面并开始下载

时间:2013-01-04 22:33:44

标签: php html header

我有一个像这样的HTML表单:

<form method="post" enctype="multipart/form-data" action="script.php" align="center">
    <input type="submit" value="Run Program"/>
</form>

然后我有PHP页面script.php。我会显示它并自动开始下载。但是,当我添加标题以开始下载时:

header('Content-Description: File Transfer');
header('Content-Disposition: attachment; filename=' . $_FILES['upload']['name'] . '.tbx');
header('Content-Type: application/force-download');
header('Content-Length: ' . filesize($tbx));

下载已启动但页面本身未加载(可能是因为标题说我们只是要传输文件)。如何正确显示页面自动开始下载?

2 个答案:

答案 0 :(得分:1)

你无法做到服务器端。你必须做那个客户端。

您只能通过HTTP一次发送一个资源!只需将包含JavaScript重定向的页面发送到您的下载脚本即可。

答案 1 :(得分:1)

您需要先加载HTML页面,然后在页面末尾对下载文件执行JavaScript位置请求。

<html>
... your HTML ....
<script type="text/javascript">
document.location = '... location of file to download ...';
</script>
</body>
</html>