当前位置:首页 > PHP教程 > php文件操作 > 列表

PHP 读取目录,删除

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-09 11:31:11 浏览: 评论:0 

本文章提供一款php目录管理程序,他可以对目录下的文件,文件夹,等各种文件进行管理删除操作,可以支持无限级目录的管理,代码如下:

  1. <?php 
  2. include("class.php"); 
  3. $path = $_get['path']; 
  4. if($path == ""){ 
  5.  $path = "dir";  
  6. }else
  7.  if(!strstr($path,"dir")){ 
  8.   $path = "dir/".$path
  9.  }else
  10.   $path = $path;  
  11.  } 
  12.  
  13. $newdir = new dirver(); 
  14. $newdir -> setpath($path); 
  15. $newdir -> dirdata(); 
  16. $files = $newdir -> getfiles(); 
  17. $dirs = $newdir -> getdirs(); 
  18. //print_r($files); 
  19. //print_r($dirs); 
  20.  
  21. echo('<link href="style.css" rel="stylesheet" type="text/css" />'); 
  22. $max = 3; 
  23. $j = 0; 
  24. if(count($dirs) == 2){ 
  25. echo'<table width="800" border="0" cellpadding="5" cellspacing="5"><tr>'
  26.  print("<td width='33%'><img src='type/dir.png'/>"); 
  27.  print('<a href="test.php?path='.$path."/".$dirs[0].'">'); 
  28.  print($dirs[0]); 
  29.  print('</a>'); 
  30.  print("</td>"); 
  31.  print("<td width='33%'><img src='type/dir.png'/>"); 
  32.  print('<a href="test.php?path='.$path."/".$dirs[1].'">'); 
  33.  print($dirs[1]); 
  34.  print('</a>'); 
  35.  print("</td>"); 
  36.  print("<td width='33%'>"); 
  37.  print("&nbsp;&nbsp;"); 
  38.  print("</td>"); 
  39.  echo '</tr></table>'
  40. }else
  41. echo'<table width="800" border="0" cellpadding="5" cellspacing="5"><tr>'
  42. while($j <= (count($dirs) -1)){ 
  43.  print("<td ><img src='type/dir.png'/>"); 
  44.  print('<a href="test.php?path='.$path."/".$dirs[$j].'">'); 
  45.  print($dirs[$j]); 
  46.  print('</a>'); 
  47.  print("</td>"); 
  48.  if(($j + 1) % $max == 0){ 
  49.    echo '</tr>'
  50.    if(($j + 1) != count($dirs)){ 
  51.     echo '<tr>'
  52.      } 
  53.   } 
  54.   $j++; 
  55.  }  
  56.  echo '</tr></table>'
  57. $i = 0; 
  58. if(count($files) == 2){ 
  59. echo'<table width="800" border="0" cellpadding="5" cellspacing="5"><tr>'
  60.  print("<td width='33%'><img src='type/".$newdir -> getfiletype($files[0]).".png'/>&nbsp;"); 
  61.  print($newdir -> change2line($files[0])); 
  62.  print("</td>"); 
  63.  print("<td width='33%'><img src='type/".$newdir -> getfiletype($files[1]).".png'/>&nbsp;"); 
  64.  print($newdir -> change2line($files[1])); 
  65.  print("</td>"); 
  66.  print("<td width='33%'>"); 
  67.  print("&nbsp;&nbsp;"); 
  68.  print("</td>"); 
  69.  echo '</tr></table>'
  70. }else
  71. echo'<table width="800" border="0" cellpadding="5" cellspacing="5"><tr>'
  72. while($i <= (count($files) -1)){ 
  73.  print("<td width=100><img src='type/".$newdir -> getfiletype($files[$i]).".png'/>&nbsp;"); 
  74.  print($newdir -> change2line($files[$i]));  
  75.  print("</td>");//开源代码phpfensi.com 
  76.  if(($i + 1) % 3 == 0){ 
  77.    echo '</tr>'
  78.    if(($i + 1) != count($files)){ 
  79.     echo '<tr>'
  80.     } 
  81.  } 
  82.  
  83.  $i++; 
  84. }  
  85.  echo '</tr></table>'
  86. ?> 

class.php,代码如下:

  1. <?php 
  2.   class for php4.x 
  3.  class  dirver{ 
  4.   /class var
  5.   var $path
  6.   var $flies
  7.   var $dirs
  8.   / 
  9.   function dirver(){ 
  10.    $this -> path = "";  
  11.    $this -> files = array(); 
  12.    $this -> dirs = array(); 
  13.   } 
  14.    
  15.   function dirdata(){ 
  16.    if(isset($this -> path)){ 
  17.     $handle = dir($this -> path); 
  18.     while(false !== ($data = $handle -> read())){ 
  19.      if(is_dir($this -> connectname($this -> path,$data)) && $data != "." && $data != ".."){ 
  20.        $this -> dirs[] = $data
  21.        continue
  22.       } 
  23.        
  24.      if($data != "." && $data != ".." && is_file($this -> connectname($this -> path,$data))){ 
  25.        $this -> files[] = $data
  26.        continue
  27.       } 
  28.       
  29.     } 
  30.     $handle -> close();  
  31.    }else
  32.     return false;  
  33.    } 
  34.   } 
  35.    
  36.  function setpath($src){ 
  37.    if($src != ""){ 
  38.     $this -> path = $src;  
  39.    }else
  40.     return false;  
  41.    } 
  42.   } 
  43.  / 
  44.  function connectname($path,$name){ 
  45.   return $path."/".$name
  46.  } 
  47.  / 
  48.  function change2line($name){ 
  49.   $basename = explode(".",$name); 
  50.   $basename = $basename[0]; 
  51.   $tmp = $this -> path."/".$name
  52.   $tmp = '<a href="'.$tmp.'" target="_blank">'.$basename.'</a>'
  53.   return $tmp;  
  54.  } 
  55.  
  56.  function getfiletype($file){ 
  57.   if($file != ""){ 
  58.    $tmp = explode(".",$file); 
  59.    $type = $tmp[count($tmp)-1]; 
  60.    return $type;  
  61.   } 
  62.  } 
  63.  
  64.  
  65.  function getfiles(){ 
  66.   return $this -> files; 
  67.   } 
  68.  
  69.  function getdirs(){ 
  70.   return $this -> dirs;  
  71.   } 
  72.  // 
  73.  } 
  74.  
  75.  
  76. ?> 

Tags: PHP读取目录 PHP删除目录

分享到: