问题描述
我有一个生成 pdf 报告的 php 脚本.当我们去保存 pdf 文档时,Acrobat 建议的文件名是 report_pdf,因为 php 脚本名为 report_pdf.php.我想动态命名 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.
在新闻组中询问,有人建议这样做,其中 filename="July Report.pdf"
是报告的预期名称
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"');
但它不起作用.我做错了吗,或者这会起作用吗?这是 mod_rewrite 的工作吗?
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"');
和
header('Content-disposition: attachment; filename="July Report.pdf"');
(不是同时),也不适合我.这是我的虚拟主机的问题吗?对于这个 url,这是我的代码:
( 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();
?>
推荐答案
试试:
header('Content-Disposition: attachment; filename="July Report.pdf"');
或
header('Content-Disposition: inline; filename="July Report.pdf"');
另一种选择是使用 $_SERVER['PATH_INFO']
传递您的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">
该文件应默认保存为July Report.pdf" - 其行为应与旧 php 脚本完全相同,只需更改生成 pdf 链接的代码即可.
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.
这篇关于使用 header() 为动态 pdf 重写 URL 中的文件名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!