当前位置:首页 > PHP教程 > php函数 > 列表

php文件下载实例代码

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-09 17:10:34 浏览: 评论:0 
  1. function xiazai($file_dir,$file_name) 
  2. //参数说明: 
  3. //file_dir:文件所在目录 
  4. //file_name:文件名 
  5. { 
  6.      $file_dir = chop($file_dir);//去掉路径中多余的空格 
  7.      //得出要下载的文件的路径 
  8.      if($file_dir != '') 
  9.      { 
  10.          $file_path = $file_dir; 
  11.          if(substr($file_dir,strlen($file_dir)-1,strlen($file_dir)) != '/') 
  12.              $file_path .= '/'; 
  13.          $file_path .= $file_name; 
  14.      }             
  15.      else 
  16.          $file_path = $file_name;     
  17.      
  18.      //判断要下载的文件是否存在 
  19.      if(!file_exists($file_path)) 
  20.      { 
  21.          alert('对不起,你要下载的文件不存在'); 
  22.          return false; 
  23.      } 
  24.  
  25.      $file_size = filesize($file_path); 
  26.  
  27.      header("Content-type: application/octet-stream;charset=gbk"); 
  28.      header("Accept-Ranges: bytes"); 
  29.      header("Accept-Length: $file_size"); 
  30.      header("Content-Disposition: attachment; filename=".$file_name); 
  31.      
  32.      $fp = fopen($file_path,"r"); 
  33.      $buffer_size = 1024; 
  34.      $cur_pos = 0; 
  35.      
  36.      while(!feof($fp)&&$file_size-$cur_pos>$buffer_size) 
  37.      {//开源代码phpfensi.com 
  38.          $buffer = fread($fp,$buffer_size); 
  39.          echo $buffer; 
  40.          $cur_pos += $buffer_size; 
  41.      } 
  42.      
  43.      $buffer = fread($fp,$file_size-$cur_pos); 
  44.      echo $buffer; 
  45.      fclose($fp); 
  46.      return true; 
  47.  
  48. }

Tags: php文件下载 php远程下载

分享到: