Получить выходной файл с расширением .pdf в FPDF - PullRequest
0 голосов
/ 07 января 2011

Этот вопрос для тех, кто использовал PHP-библиотеку FPDF (http://www.fpdf.org) для генерации PDF-документов с использованием PHP. Я генерирую PDF-файл, используя php-файл my_file.php. Я хочу, чтобы пользователи могли загружать этот файл PDF. Но в браузере файл в адресной строке отображается как ..somepath .... / my_file.php. Я хочу, чтобы они увидели его как файл с расширением .pdf. Есть идеи, как это можно сделать?

Ответы [ 3 ]

7 голосов
/ 07 января 2011

когда вы создаете объект и затем пытаетесь сделать вывод, как этот

$filePath = "files/cache/myPdf.pdf";
$pdf=new FPDF('p');
...
$pdf->Output($filePath,'I');

вы можете изменить и отправить имя файла

2 голосов
/ 11 декабря 2015

Для принудительной загрузки:

$pdf->Output('D');  //Force download and set filename as 'doc.pdf'

или установка собственного имени файла:

$pdf->Output('MyFilename.pdf','D');  

Ваш браузер не должен открывать другую вкладку с вашим путем / my_file.php

1 голос
/ 07 января 2011

Вы не можете изменить адресную строку браузера, но вы можете изменить адрес на своем сервере.Например, если вы используете Apache, есть mod_rewrite, который позволяет вам делать такие вещи.

Если ваша проблема в том, что при загрузке файла браузер хочет сохранить его как .php, вы можете использоватьэти заголовки для принудительной загрузки и имя файла.

header('Content-Type: application/octet-stream');
header('Content-Length: ' . FILESIZE_HERE);
header('Content-Disposition: attachment; filename=' . FILENAME.pdf_HERE);
...