Home >Backend Development >PHP Tutorial >Simple example of PHP file download (code to implement file download)_PHP tutorial

Simple example of PHP file download (code to implement file download)_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:36:18788browse

Copy code The code is as follows:

public function downloads($name){
$name_tmp = explode("_ ",$name);
$type = $name_tmp[0];
$file_time = explode(".",$name_tmp[3]);
$file_time = $file_time[0];
$file_date = date("Y/md",$file_time);
$file_dir = SITE_PATH."/data/uploads/$type/$file_date/";

if (!file_exists($file_dir.$name)){
header("Content-type: text/html; charset=utf-8");
echo "File not found!";
exit;
} else {
$file = fopen($file_dir.$name,"r");
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($file_dir . $name));
Header("Content-Disposition: attachment; filename=".$ name);
echo fread($file, filesize($file_dir.$name));
fclose($file);
}
}


Example 2: Code to implement file download

Generally, downloading is achieved by calling the URL to download, but this method cannot be used when IE can recognize the opened file, such as downloading an image or html web page Wait, then programming is needed to achieve it. The following php code can solve it:

Copy code The code is as follows:

if( empty($_GET['FileName']) || empty($_GET['FileDir'])|| empty($_GET['FileId'])){
echo'<script> alert("Illegal connection!"); location.replace ("index .php") </script>'; exit();
}
$file_name=$_GET['FileName'];
$file_dir=$_GET['FileDir'];
$FileId=$_GET['FileId'];
$file_dir = $file_dir."/";
if (!file_exists($file_dir.$file_name)) { //Check if the file exists
echo "File not found";
exit;
} else {
$file = fopen($file_dir . $file_name,"r"); // Open the file
// Enter the file tag
Header("Content-type: application/octet-stream");
Header("Accept-Ranges: bytes");
Header("Accept-Length: ".filesize($file_dir . $file_name ));
Header("Content-Disposition: attachment; filename=" . $file_name);
//Output file content
echo fread($file,filesize($file_dir . $file_name));
fclose($file);
exit();
}
?>

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/739781.htmlTechArticleCopy the code The code is as follows: public function downloads($name){ $name_tmp = explode("_",$name ); $type = $name_tmp[0]; $file_time = explode(".",$name_tmp[3]); $file_time = $file_time[0...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn