这个问题是为那些使用 PHP 库 FPDF (http://www.fpdf.org) 使用 PHP 生成 PDF 文档的人准备的。我正在使用 php 文件“my_file.php”生成 PDF 文件。我希望用户能够下载该 PDF 文件。但在浏览器中,地址栏中的文件为 ..somepath..../my_file.php 。我希望他们将其视为扩展名为 .pdf 的文件。知道如何做到这一点吗?
问问题
19586 次
3 回答
7
当您创建对象然后尝试像这样进行输出时
$filePath = "files/cache/myPdf.pdf";
$pdf=new FPDF('p');
...
$pdf->Output($filePath,'I');
您可以更改和发送文件名
于 2011-01-07T12:35:02.523 回答
2
强制下载:
$pdf->Output('D'); //Force download and set filename as 'doc.pdf'
或设置您自己的文件名:
$pdf->Output('MyFilename.pdf','D');
您的浏览器不会打开另一个带有 yourpath/my_file.php 的选项卡
于 2015-12-11T18:47:49.113 回答
1
您无法更改浏览器地址栏,但可以更改服务器上的地址。例如,如果您使用的是 Apache,那么您可以使用mod_rewrite
它来做这些事情。
如果您的问题是在下载文件时,浏览器希望将其保存为 .php,您可以使用这些标题来强制下载和文件名。
header('Content-Type: application/octet-stream');
header('Content-Length: ' . FILESIZE_HERE);
header('Content-Disposition: attachment; filename=' . FILENAME.pdf_HERE);
于 2011-01-07T12:29:55.190 回答