Friday, October 10, 2025
HomeLanguagesHow to automatically start a download in PHP ?

How to automatically start a download in PHP ?

This post deals with creating a start downloading file using PHP. The idea is to make a download button which will redirect you to another page with the PHP script that will automatically start the download.

Creating a download button:




<!DOCTYPE html>
<html>
  
<head>
    <meta name="viewport" content=
        "width=device-width, initial-scale=1">
    <style>
        .btn {
            background-color: limeGreen;
            border: none;
            color: white;
            padding: 12px 30px;
            cursor: pointer;
            font-size: 20px;
        }
  
        .btn:hover {
            background-color: green;
        }
    </style>
</head>
  
<body>
    <center>
        <p>Auto width:</p>
        <button class="btn">
            <i class="fa fa-download">Download</i>
        </button>
        <p>Full width:</p>
        <button class="btn" style="width:100%">
            <i class="fa fa-download">Download</i>
        </button>
    </center>
</body>
  
</html>


Output:

To redirect to some file which has the file to be downloaded, create an HTML form as shown below.




<form action="downloadFile.php" method="post">
 <input type="submit" name="submit" value="Download" />
</form>


Output:

PHP code to download: When the user clicks the above button, the code will be redirected to the “downloadFile.php” file. Now, use the URL of the file and PHP file_get_contents() function to download the file.




<?php 
    
// Initialize a file URL to 
// the variable 
$url
    
// Use basename() function to 
// return the file  
$file_name = basename($url); 
     
// Use file_get_contents() function 
// to get the file from url and use 
// file_put_contents() function to 
// save the file by using base name 
if(file_put_contents( $file_name
      file_get_contents($url))) { 
    echo "File downloaded successfully"
else
    echo "File downloading failed."
}
?> 


Output:

  • Before running the program:
  • After running the program:
RELATED ARTICLES

Most Popular

Dominic
32349 POSTS0 COMMENTS
Milvus
87 POSTS0 COMMENTS
Nango Kala
6717 POSTS0 COMMENTS
Nicole Veronica
11880 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11941 POSTS0 COMMENTS
Shaida Kate Naidoo
6838 POSTS0 COMMENTS
Ted Musemwa
7097 POSTS0 COMMENTS
Thapelo Manthata
6792 POSTS0 COMMENTS
Umr Jansen
6792 POSTS0 COMMENTS