using header() to rewrite filename in URL for dynamic pdf
http-headers, mod-rewrite, pdf, php, rename
Solution
Try:
header('Content-Disposition: attachment; filename="July Report.pdf"');
or
header('Content-Disposition: inline; filename="July Report.pdf"');
Another option would be to use the `$_SERVER['PATH_INFO']` to pass your "July Report.pdf" - an example link might be:
<a href="report_pdf.php/July%20Report.pdf?month=07">
That file should default to saving as "July Report.pdf" - and should behave exactly like your old php script did, just change the code that produces the link to the pdf.
Problem
I have a php script that generates a pdf report. When we go to save the pdf document, the filename that Acrobat suggests is report_pdf, since the php script is named report_pdf.php. I would like to dynamically name the pdf file, so I don't have to type the appropriate name for the report each time that I save it. Asking on a news group, someone suggested this, where `filename="July Report.pdf"` is the intended name of the report ``` <? header('Content-Type: application/pdf'); header('Content-disposition: filename="July Report.pdf"'); ``` But it doesn't work. Am I doing it wrong, or will this work at all? Is this a job for mod_rewrite? So I've tried both ``` header('Content-disposition: inline; filename="July Report.pdf"'); ``` and ``` header('Content-disposition: attachment; filename="July Report.pdf"'); ``` ( not at the same time ) and neither work for me. Is this a problem with my web host? For this url, here's my code: ``` <? header('Content-disposition: inline; filename="July Report.pdf"'); // requires the R&OS pdf class require_once('class.ezpdf.php'); require_once('class.pdf.php'); // make a new pdf object $pdf = new Cpdf(); // select the font $pdf->selectFont('./fonts/Helvetica'); $pdf->addText(30,400,30,'Hello World'); $pdf->stream(); ?> ```