Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

using header() to rewrite filename in URL for dynamic pdf

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();  ?> 
like image 309
user151841 Avatar asked Jan 06 '10 20:01

user151841


Video Answer


2 Answers

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.

like image 55
gnarf Avatar answered Sep 24 '22 17:09

gnarf


Should be:

header('Content-disposition: attachment;filename="July Report.pdf"');  
like image 45
Seva Alekseyev Avatar answered Sep 23 '22 17:09

Seva Alekseyev