php大文件下载

<?php
header("Content-Type:text/html;charset:utf-8");
//class FileDownServer{
 //$file_name:传入下载文件名
 //$file_sub_dir:传入下载文件存储的子路径
  function downFile($file_name,$file_sub_dir){
  $file_name=iconv('utf-8','gb2312',$file_name);
  $file_path=$_SERVER['DOCUMENT_ROOT'].$file_sub_dir.$file_name;
  if(!file_exists($file_path)){
   echo '文件不存在';
   return ;
  }else{
   $fp=fopen($file_path,'r');
   $file_size=filesize($file_path);
   header("Content-type:application/octet-stream"); // 返回的文件类型是流
   header("Accept-Ranges:bytes"); //按照字节大小返回
   header("Accept-Length:$file_size"); //返回文件大小
   header("Content-Disposition:attachment;filename=".$file_name); //这里是客户端的弹出对话框。对应的文件名
   $buffer=1024;
   while (!feof($fp)){
    $file_data=fread($fp,$buffer);
    echo $file_data;
   }
   
   
   fclose($fp);
  }
   
 }
?>

 

posted @ 2013-12-24 19:17  虢国技酱  阅读(670)  评论(0编辑  收藏  举报