提交表单后自动开始下载文件 - php

我有一个Web表单,用户可以在线完成。当他们按提交时,将开始为他们下载文件。

目前,我处理表单提交并为用户生成一个合适的文件,并使用合适的标题将其触发。例如...

header('Content-type: "application/octet-stream"');
header('Content-Disposition: attachment; filename="yourfile.txt"');
header("Content-Transfer-Encoding: binary");

但是,由于这会立即开始下载,因此浏览器会将原始表格留在屏幕上。

下载完成后(或下载开始之前),我真的很想转到“谢谢”屏幕。我知道这是有可能的,因为您访问的几乎每个下载站点都可以这样做(通常是在下载开始之前就抽出大量广告)。

那么,如何显示一个“谢谢”屏幕,在一秒钟后开始下载?

建议的任何解决方案如何影响后退按钮的行为,因为我不希望在不重新填写表格的情况下再次下载文件?

我在服务器上使用PHP,并且可以依赖客户端上可用的Javascript(和jQuery)。

谢谢。

参考方案

您可以将表格发送到“谢谢”文档,并在此处对文件下载进行META刷新:

<meta http-equiv="refresh" content="3;url=download.php">
<p>Thank you! The download will start in 3 seconds. If not, use this link to download the <a href="download.php">file</a></p>

PHP-将日期插入日期时间字段 - php

我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数

PHP-如何获取类的成员函数列表? - php

如果我知道班级的名字。有没有办法知道类的成员函数列表? 参考方案 get_class_methods()是你的朋友

PHP:获取调用引用的数组名称 - php

假定以下函数并调用:function doSomething( &$someArray ) { // Do something to $someArray } $names=array("John", "Paul", "George", "Ringo"); doSomet…

PHP-我们应在会话中包含哪些数据? - php

这是一个初学者的问题...在网站中,会话中应该包含或不应该包含什么类型的数据?我了解我不应该包含任何需要保持安全的信息。我对编程最佳实践更感兴趣。例如,有可能在会话中包括一些数据,否则这些数据将作为依赖项注入从一个页面发送到另一个页面。这不等于创建全局变量吗?一般来说,哪种数据在会话表中已经存在或没有?谢谢,JDelage 参考方案 您应该将会话视为一次写入…

php ziparchive类源代码 - php

Improve this question 我如何获取ziparchive类本身的源代码。 参考方案 假设您在谈论PHP ZipArchive class:下载PHP source code并查找适当的文件。如果您希望源代码是PHP代码,您可能会感到失望,因为源代码是用C语言编写的。或者,也可以在PHP Github Development Reposito…