I have a PHP app that creates a CSV file which is forced to download using headers. Here’s the relevant part of the code:
header('Content-Type: application/csv'); header("Content-length: " . filesize($NewFile)); header('Content-Disposition: attachment; filename="' . $FileName . '"'); echo $content; exit();
What I’d like to do is redirect users to a new page after the file is built and the download prompt is sent. Just adding header("Location: /newpage")
to the end didn’t work, expectedly, so I’m not sure how to rig this up.
Advertisement
Answer
I don’t think this can be done – although I am not 100% sure.
The common thing (e.g. in popular download sites) is the reverse: first you go to the after page and then the download starts.
So redirect your users to the final page that (among other things) says:
Your download should start automatically. If not click [a href="create_csv.php"]here[/a]
.
As about initiating the download (e.g. automatically calling create_csv.php) you have many options:
- HTML:
[meta http-equiv="refresh" content="5;url=http://site/create_csv.php"]
- Javascript:
location.href = 'http://site/create_csv.php';
- iframe:
[iframe src="create_csv.php"][/iframe]