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: