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>
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>
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 =
'https://write.geeksforgeeks.org/wp-content/uploads/gfg-40.png';
// 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.";
}
?>
-
Before running the program:
-
After running the program:
