Friday, January 16, 2026
HomeLanguagesHow to make PDF file downloadable in HTML link using PHP ?

How to make PDF file downloadable in HTML link using PHP ?

To Download PDF from HTML link using PHP with the help of header() function in php. The header()function is used to send a raw HTTP header. Sometimes it wants the user to be prompted to save the data such as generated PDF.

Syntax:

  • http response headers to download any application
    header("Content-Type: application/octet-stream");
  • http response headers to set composition and file to download
    header('Content-Disposition: attachment; filename="downloaded.pdf"');
  • The length of the requested file need to download
    header("Content-Length: " . filesize("download.pdf"));
  • Reads a file and writes it to the output buffer.
    readfile('original.pdf');
  • .

    Note: Remember that HTTP header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file or from PHP.

    Example 1: Save below HTML file as htmllinkpdf.html and save PHP file as downloadpdf.php

    • Below example to illustrate concept of downloading PDF file using HTML link.
    • Here downloading file appears to be PDF format but without any content which shows error on opening in any application
    • HTML code:




      <!DOCTYPE html>
      <html>
        
      <head>
          <title>Download PDF using PHP from HTML Link</title>
      </head>
        
      <body>
          <center>
              <h2 style="color:green;">Welcome To GFG</h2>
              <p><b>Click below to download PDF</b>
              </p>
              <a href="gfgpdf.php?file=gfgpdf">Download PDF Now</a></center>
      </body>
        
      </html>

      
      
    • PHP code:




      <?php
        
      $file = $_GET["file"] .".pdf";
        
      // We will be outputting a PDF
      header('Content-Type: application/pdf');
        
      // It will be called downloaded.pdf
      header('Content-Disposition: attachment; filename="gfgpdf.pdf"');
        
      $imagpdf = file_put_contents($image, file_get_contents($file)); 
        
      echo $imagepdf;
      ?>

      
      
    • Output:

    Below example illustrates the concept of downloading PDF file locally (i.e. read gfgpdf.pdf file from local ) using HTML link.

    Example 2: Save HTML file as htmllinkpdf.html and save PHP file as downloadpdf.php

    • HTML code:




      <!DOCTYPE html>
      <html>
        
      <head>
          <title>Download PDF using PHP from HTML Link</title>
      </head>
        
      <body>
          <center>
              <h2 style="color:green;">Welcome To GFG</h2>
              <p><b>Click below to download PDF</b>
              </p>
              <a href="downloadpdf.php?file=gfgpdf">Download PDF Now</a>
          </center>
      </body>
        
      </html>

      
      
    • PHP code:




      <?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: " . filesize($file));
        
      flush(); // This doesn't really matter.
        
      $fp = fopen($file, "r");
      while (!feof($fp)) {
          echo fread($fp, 65536);
          flush(); // This is essential for large downloads
      } 
        
      fclose($fp); 
      ?>

      
      
    • Output:

    PHP is a server-side scripting language designed specifically for web development. You can learn PHP from the ground up by following this PHP Tutorial and PHP Examples.

    RELATED ARTICLES

    Most Popular

    Dominic
    32474 POSTS0 COMMENTS
    Milvus
    117 POSTS0 COMMENTS
    Nango Kala
    6846 POSTS0 COMMENTS
    Nicole Veronica
    11977 POSTS0 COMMENTS
    Nokonwaba Nkukhwana
    12062 POSTS0 COMMENTS
    Shaida Kate Naidoo
    6985 POSTS0 COMMENTS
    Ted Musemwa
    7219 POSTS0 COMMENTS
    Thapelo Manthata
    6933 POSTS0 COMMENTS
    Umr Jansen
    6911 POSTS0 COMMENTS