Friday, September 5, 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
32267 POSTS0 COMMENTS
Milvus
81 POSTS0 COMMENTS
Nango Kala
6635 POSTS0 COMMENTS
Nicole Veronica
11801 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11865 POSTS0 COMMENTS
Shaida Kate Naidoo
6752 POSTS0 COMMENTS
Ted Musemwa
7026 POSTS0 COMMENTS
Thapelo Manthata
6703 POSTS0 COMMENTS
Umr Jansen
6720 POSTS0 COMMENTS