Re: Redirect after pdf / file download
| From: | Aschwin Wesselius | Date: | Thu, 12 Jun 2008 10:41:38 +0000 |
| Subject: | Re: Redirect after pdf / file download | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-275258@lists.php.net to get a copy of this message | ||
Yashesh Bhatia wrote:
Hello:Hi, What you are doing is: header("Content-Type: application/pdf"); And after that you try to echo some script. But the browser already thinks that belongs to the PDF and not to a HTML page. What I think should work instead of the script part is just: header('Location: 3.html'); exit; But I'm not sure it works. -- Aschwin Wesselius /'What you would like to be done to you, do that to the other....'/I'm trying to emulate a problem i'm trying to solve as follows.1 - user enters information into a html form and submits 2 - a php script is invoked on the submit and a pdf file is stamped and made available for download 3 - the script finally redirects the user to a thank you html page. i'm having a problem in the redirect to the thank you page. here's the 3 files ------------------------ 1.html ---------------------------- <html><body> <form action="2.php" method="post"> First Name: <input type="text" name="firstname" /> Last Name: <input type="text" name="lastname" /> <input type="submit" /> </form> </body></html> ------------------------------------------------------------------------------------ ---------------------------- 2.php ---------------------------- <?php // some stamping code ... // open the file in a binary mode $name = "2.pdf"; fp = fopen($name, 'rb'); // send headers, dump the pdf file and finally redirect header("Content-Type: application/pdf"); header("Content-Disposition: attachment; filename=$name"); header("Content-Length: " . filesize($name)); fpassthru($fp); echo '<script type="text/javascript">'; echo 'window.location.href="3.html";'; echo '</script>'; ?> ------------------------------------------------------------------------------------ ---------------------------- 3.html ---------------------------- <html><body> Thank you for downloading 2.pdf </body></html> ------------------------------------------------------------------------------------ The submit works fine and the pdf is availble for download however, the redirect does not happen. If i comment the lines //header("Content-Type: application/pdf"); //header("Content-Disposition: attachment; filename=$name"); //header("Content-Length: " . filesize($name)); //fpassthru($fp); then the redirect happens after the submit. i'm testing / running it on fedora core 6, Apache 2.2.5, php 5.2.5 and firefox 1.5 Any help / pointers is appreciated. Thanks. Yashesh Bhatia.