Получить выходной файл с расширением .pdf в FPDF

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


person johngreen    schedule 07.01.2011    source источник


Ответы (3)


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

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

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

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

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

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

person AmirModiri    schedule 07.01.2011

Чтобы принудительно загрузить:

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

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

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

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

person Cristhian Murcia    schedule 11.12.2015