网站地图    收藏   

主页 > php专栏 > php函数大全 >

php文件下载实例代码 - php函数

来源:自学PHP网    时间:2014-11-25 00:26 作者: 阅读:次

[导读] functionxiazai($file_dir,$file_name)//参数说明://file_dir:文件所在目录//file_name:文件名{$file_dir=chop($file_dir);//去掉路径中多......

php文件下载实例代码

  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. }

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论