Download pdf file in php

Normally, a hyperlink can be used to open a file on the browser. In such a case, the file can download from the browser manually. If you want to download the file dynamically and save it on the local drive automatically, force the browser to download the file instead of displaying it. Force file download functionality allows the user to download files in PHP where the requested files are downloaded forcefully without rendering on the browser. In this tutorial, we are going to show how to download a file from a directory or server in PHP.

Using the header() and readfile() function, you can easily download a file in PHP. Here we’ll provide the example PHP code to force download file in PHP. Also, this simple PHP script helps to implement a download link that downloads a file from the directory. The following example script can be used to download any type of file like text, image, document, pdf, zip, etc.

Download File in PHP

<?php 
// Define file name and path
$fileName 'Brochure.pdf';
$filePath 'files/'.$fileName;

if(!empty(

$fileName) && file_exists($filePath)){
    
// Define headers
    
header("Cache-Control: public");
    
header("Content-Description: File Transfer");
    
header("Content-Disposition: attachment; filename=$fileName");
    
header("Content-Type: application/zip");
    
header("Content-Transfer-Encoding: binary"); // Read the file
    
readfile($filePath);
    exit;
}else{
    echo 
'The file does not exist.';
}

In the web application, you need to provide a hyperlink to allow the user to download files from the server dynamically. Use the below sample code to display an HTML link to download a file from the directory using PHP.
HTML Code:

<a href="download.php?file=Brochure.pdf">Download File</a>

PHP Code (download.php):

<?php if(!empty($_GET['file'])){ 
    
// Define file name and path
    
$fileName basename($_GET['file']);
    
$filePath 'files/'.$fileName;

    if(!empty(

$fileName) && file_exists($filePath)){
        
// Define headers
        
header("Cache-Control: public");
        
header("Content-Description: File Transfer");
        
header("Content-Disposition: attachment; filename=$fileName");
        
header("Content-Type: application/zip");
        
header("Content-Transfer-Encoding: binary"); // Read the file
        
readfile($filePath);
        exit;
    }else{
        echo 
'The file does not exist.';
    }
}
?>

Force Download File from Remote Server in PHP

Are you want to get implementation help, or modify or enhance the functionality of this script? Submit Paid Service Request

If you have any questions about this script, submit it to our QA community - Ask Question

How can I download PDF code in PHP?

php header("Content-Type: application/octet-stream"); $file = $_GET["file"] . ". pdf"; header("Content-Disposition: attachment; filename=" . urlencode($file)); header("Content-Type: application/download"); header("Content-Description: File Transfer"); header("Content-Length: " .

How do I make a PDF file downloadable?

Right click the PDF, click the floppy disk button, or click File at the top of your screen. Then, select Save As or Save Page As. Open your PDF file reader and select File > Open to view the downloaded file.

How do I download a PDF in HTML?

How to convert HTML pages into PDF files:.
On a Windows computer, open an HTML web page in Internet Explorer, Google Chrome, or Firefox. ... .
Click the “Convert to PDF” button in the Adobe PDF toolbar to start the PDF conversion..
Enter a file name and save your new PDF file in a desired location..

How do I download a PHP file?

PHP enables you to download file easily using built-in readfile() function. The readfile() function reads a file and writes it to the output buffer..
<? ... .
header('Content-Type: application/octet-stream');.
header("Content-Transfer-Encoding: utf-8");.