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: