http 协议下载类(自家用)

来源:岁月联盟 编辑:zhuzhu 时间:2006-12-08

这个类不安全,需要修改

<?php
/**
*HttpDownLoad
*
*@author  sanshi
    QQ:35047205
    Email:sanshi0815@tom.com
    MSN:sanshi0815@tom.com
*
*@version  1.0.0  2005/07/10
*
*@deprecated     
 1.http协议下载
 
*/
class HttpDownLoad
{
 var $rootDom="D:/jsp/";//设定下载目录,需要绝对路径
 var $openDir;           //打开绝对的路径
 var $open;    //将要打开的目录
 var $enter=3;   //设置换行
 var $table_w=800;  //设置表格宽度
 var $div=array();     //设置目录存放数组
 var $file=array();      //设置文件存放数组
 var $link=array();     //设置连接文件数组

 //构造函数
 function HttpDownLoad()
 {
  $this->getAll();
  $this->head();
  $this->printArray($this->dir,"目录");
  $this->printArray($this->file,"文件");
  $this->foot();
 }
 //设置输出标题头
 function head()
 {
  echo "<table width='".$this->table_w."' align='center'><tr><td height='20%'>&nbsp;</td></tr><tr>".
    "<td align='center'><FONT SIZE='8' COLOR=''>www.litou.com 专用版</FONT></td>".
     "</tr><tr><td>作&nbsp;&nbsp;&nbsp;&nbsp;者:&nbsp;叁&nbsp;&nbsp;石</td></tr>".
      "<tr><td>联系方式:sanshi0815@tom.com</td></tr>".
       "<tr><td>&nbsp&nbsp;Q&nbsp;&nbsp;Q&nbsp;&nbsp;:&nbsp;35047205</td></tr></table>";
 }
 //设置结束尾
 function foot()
 {

 }
 //取得将要打开的目录
 function getOpen()
 {
  $open=$_GET["dir"];
  $this->open=$open;
  if(!isset($open)||empty($open))
  {
   $openDir=$this->rootDom;
  }else{
   $openDir=$this->rootDom.$open."/";
  }
  $this->openDir=$openDir;
  return $openDir;
 }

 //将目录中的内容进行分档
 function getAll()
 {
  $openDir=$this->getOpen();
  $handle=opendir($openDir);
  while($allFile=readdir($handle))
  {
   if(is_dir($openDir.$allFile))
   {
    $this->dir[]=$allFile;
   }else if(is_file($openDir.$allFile))
   {
    $this->file[]=$allFile;
   }else if(is_link($openDir.$allFile))
   {
    $this->link[]=$allFile;
   }
  }
  closedir($handle);
  //echo count($this->dir)."<br>";
  //echo count($this->file)."<br>";
  //echo count($this->link)."<br>";
 }
 //检查是否为目录
 function isDir($dir)
 {
  if(is_dir($dir))
  {
   return true;
  }
  return false;
 }
 //检查是否为文件
 function isFile($file)
 {
  if(is_file($file))
  {
   return true;
  }
  return false;
 }
 //数组打印
 function printArray($array,$title)
 {
  $j=0;
  if(count($array)>0)
  {
   
   echo "<table width='".$this->table_w."' align='center'><tr>";
   echo "<td colspan='".$this->enter."'><HR></td></tr><tr>";
   foreach($array as $v)
   {
    $v=trim($v);
    if(substr($v,0,1)!=".")
    {
     
     if($j%$this->enter==0)
     {
      echo "</tr><tr>";
     }
     if(!isset($this->open)||empty($this->open))
     {
      $l="";
     }else{
      $l="/";
     }
     if($this->isDir($this->openDir.$v))
     {
      $url=$PHP_SELF."?dir=".$this->open.$l.$v;
      $color="#FF0033";
      $size="3";
     }else if($this->isFile($this->openDir.$v)){
      $url=$this->openDir.$v;
      $color="#0000FF";
      $size="5";
     }
     $j++;
     echo "<td><FONT SIZE='".$size."' COLOR='".$color."'>".$title."</FONT><a href='".$url."'>".$v."</a>&nbsp;&nbsp;&nbsp;&nbsp;</td>";
    }
   }
   
  }
 }

}
?>
<?php
$do=new HttpDownLoad();
?>