2012-09-11 89 views
1

我有一个简单的下载表单并提交我希望用户能够下载PDF并在同一时间打开一个感谢页面。提交打开thankyou.html +下载PDF

我尝试使用window.open和几个PHP方法(头文件)。虽然PHP方法正在完成弹出下载pdf屏幕的工作,但该页面并未重定向到感谢页面。

任何人都可以帮助任何与JS或PHP?

我对任何一个都不是那么了解 - 如果您能分享整个代码,我将非常感激。谢谢! :)

回答

1

你需要3个文件:

  1. 您具有表单页面文件:
    <form action="thanks.php" id="form" method="POST"><!-- your form content and a submit button here--></form>

  2. 一个thanks.php网页,将有一个:
    <iframe src="download_pdf.php" style="display:none;" />

  3. 并最终创建一个download_pdf.php页:
<?php 
$file = 'filename.pdf'; 
if(!file){ 
    die('Error: file not found'); 
}else{ 
    header("Cache-Control: public"); 
    header("Content-Description: File Transfer"); 
    header("Content-Disposition: attachment; filename=$file"); 
    header("Content-Type: application/pdf"); 
    header("Content-Transfer-Encoding: binary"); 
    readfile($file); 
} 
?> 
0

在将任何其他内容发送到浏览器之前,您只能使用header()进行PHP重定向。一旦页面加载完毕,你需要使用JS。这对于JS来说很简单:

window.location = "http://example.com"; 

但是,我会问一次加载两个窗口。显示Thank You页面并提供一个链接,他们可以在该页面上查看/下载PDF。

0

其实用户不应该重用感谢页面的URL重复下载PDF文档,这将有悖于摆在首位用户信息的目的。因此,在可以显示下载的感谢页面中需要暂停。但请检查一下,看看你是否可以用弹出窗口来掩饰谢谢你的网页的URL。