日期:2014-05-17  浏览次数:20493 次

PHP用代码实现文件下载

?

<?
 if( empty($_GET['FileName'])|| empty($_GET['FileDir'])|| empty($_GET['FileId'])){
     echo'<script> alert("非法连接 !"); 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))   {   //检查文件是否存在  
   echo   "文件找不到";  
   exit;    
   }   else   {  
 $file = fopen($file_dir . $file_name,"r"); // 打开文件
 // 输入文件标签
 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);
 // 输出文件内容
 echo fread($file,filesize($file_dir . $file_name));
 fclose($file);
 exit();
 }
 ?>

?

网友回复:

if (!file_exists($file_dir.$file_name)) { //检查文件是否存在?
这个是错误的,检查文件是否存在要用is_file,file_exists在文件不存在但是文件夹存在的时候也会返回TRUE。

?

From:http://www.cnblogs.com/analyzer/articles/1393967.html

?