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();
}
?>
http://www.bkjia.com/PHPjc/739781.htmlwww.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...