php4 下载类

最近用到PHP,因为一直在用Java开发,所以什么东西都想写成类的形式,这个PHP类主要用来处理下载任务,它掩盖了文件存放的真实路径。主要功能实现来自网络,我只是整理并添加了mime类型及下载时文件名的处理

<?php
 class Download
 {
  var $cache_size=1024;
  function Download(){}
  //文件的相对路径
  function _dl_($path)
  {
   $full_path=getcwd().$path;
   if(!file_exists($full_path)){
    echo "File Not Find.";
    exit;
   }else{
    $handle=fopen($full_path,"rb");
    Header("Content-type:".$this->getmimetype($full_path));
    Header("Accept-Ranges:bytes");
    Header("Accept-Length:".filesize($full_path));
    $infos=pathinfo($full_path);
    Header("Content-Disposition:attachment;filename=".$infos["basename"]);
    while(!feof($handle)){
     echo fread($handle,$this->cache_size);
    }
    fclose($handle);
    exit;    
   }
  }
  function getmimetype($path){
   $mimeArray=array();
   $mimeArray["zip"]="application/zip";
   $mimeArray["wav"]="audio/x-wav";
   $mimeArray["xml"]="application/xml";
   $mimeArray["txt"]="text/plain";
   $mimeArray["tar"]="application/x-tar";
   $mimeArray["swf"]="application/x-shockwave-flash";
   $mimeArray["rm"]="application/vnd.rn-realmedia";
   $mimeArray["pdf"]="application/pdf";
   $mimeArray["mp3"]="audio/x-mpeg";
   $mimeArray["mid"]="audio/x-midi";
   $mimeArray["js"]="text/javascript";
   $mimeArray["jad"]="text/vnd.sun.j2me.app-descriptor";
   $mimeArray["gz"]="application/x-gzip";
   $mimeArray["gtar"]="application/x-gtar";
   $mimeArray["exe"]="application/octet-stream";
   $mimeArray["doc"]="application/msword";
   $mimeArray["rar"]="application/octet-stream";
   
   $infos=pathinfo($path);
   return $mimeArray[$infos["extension"]];  
  }
 }
?>
 //使用此类
<?php

$dl=new Download();
$dl->_dl_("/a/b/c/a.doc");

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值