1

这个问题是为那些使用 PHP 库 FPDF (http://www.fpdf.org) 使用 PHP 生成 PDF 文档的人准备的。我正在使用 php 文件“my_file.php”生成 PDF 文件。我希望用户能够下载该 PDF 文件。但在浏览器中,地址栏中的文件为 ..somepath..../my_file.php 。我希望他们将其视为扩展名为 .pdf 的文件。知道如何做到这一点吗?

4

3 回答 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 回答