1

我有一个像这样的 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));

下载开始了,但页面本身没有加载(可能是因为标题说我们只是要传输一个文件)。如何使页面正确显示自动开始下载?

4

2 回答 2

2

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

<html>
... your HTML ....
<script type="text/javascript">
document.location = '... location of file to download ...';
</script>
</body>
</html>
于 2013-01-04T22:45:14.607 回答
1

你不能在服务器端做。你必须做那个客户端。

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

于 2013-01-04T22:43:53.703 回答