Home >Backend Development >PHP Tutorial >Simple example of php file download_PHP tutorial
This article mainly introduces a simple example of file downloading in PHP. Friends who need it can refer to it
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, the download is implemented by calling the URL to download. However, this method cannot be used when IE can recognize the opened file, such as downloading a picture, HTML web page, etc. In this case, programming is required to implement it. The following PHP code can solve the problem: 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 whether the file exists echo "File not found"; exit; } else { $file = fopen($file_dir . $file_name,"r"); // Open the file //Input 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(); } ?>