Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

correct PHP headers for pdf file download

Tags:

php

pdf

header

I'm really struggling to get my application to open a pdf when the user clicks on a link.

So far the anchor tag redirects to a page which sends headers that are:

$filename='./pdf/jobs/pdffile.pdf;  $url_download = BASE_URL . RELATIVE_PATH . $filename;  header("Content-type:application/pdf"); header("Content-Disposition:inline;filename='$filename"); readfile("downloaded.pdf"); 

this doesn't seem to work, has anybody successfully sorted this problem in the past?

like image 425
useyourillusiontoo Avatar asked Nov 19 '13 19:11

useyourillusiontoo


People also ask

How can I download PDF file from PHP server?

feof($fd)) { $buffer = fread($fd, 2048); echo $buffer; } } fclose ($fd); exit; // example: place this kind of link into the document where the file download is offered: // <a href="download. php? download_file=some_file. pdf">Download here</a> ?>

What is header content type in PHP?

The Content-Type header is used to indicate the media type of the resource. The media type is a string sent along with the file indicating the format of the file. For example, for image file its media type will be like image/png or image/jpg, etc. In response, it tells about the type of returned content, to the client.


1 Answers

Example 2 on w3schools shows what you are trying to achieve.

<?php header("Content-type:application/pdf");  // It will be called downloaded.pdf header("Content-Disposition:attachment;filename='downloaded.pdf'");  // The PDF source is in original.pdf readfile("original.pdf"); ?> 

Also remember that,

It is important to notice that header() must be called before any actual output is sent (In PHP 4 and later, you can use output buffering to solve this problem)

like image 56
gat Avatar answered Oct 23 '22 20:10

gat