Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using php to force download a pdf

Im trying to get a website to have a button that forces a download of a pdf.

Heres the html of the button:

    <a href=scripts/download.php>
    <input type="image" src="images/download.gif" alt="Submit button"/>
    </a>

And the php script so far:

    <?php
    header('Content-Type: application/pdf');
    header('Content-disposition: attachment;filename=documents/ECM_IT_ResumeDownload.pdf');
    readfile('documents/ECM_IT_ResumeDownload.pdf');
    ?>

This seems to download the file fine but when I go to open it i get this error:

"Adobe Reader could not open 'documents_ECM_IT_ResumeDownload.pdf' because it is either not a supported file type or because the file has been damaged (for example, it was sent as an email attachment and wasn't correctly decoded)."

Any help would be greatly appreciated.

EDIT Opened the pdf in a text editor and got this message:

"
Warning: readfile(documents/ECM_IT_ResumeDownload.pdf) [function.readfile]: failed to open stream: No such file or directory in html/scripts/download.php on line 4
"

The document is definitely there though. in html/documents/ECM_IT_ResumeDownload.pdf

like image 275
Craig Traynor Avatar asked May 14 '12 02:05

Craig Traynor


1 Answers

$file_url = www.example.com/pdffolder/$pdfname;
header('Content-Type: application/pdf');
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename=".$pdfname);
readfile($file_url);
like image 150
Mohammad Intsar Avatar answered Sep 20 '22 17:09

Mohammad Intsar