php递归遍历目录实现程序_PHP教程
                        
                            时间:2021-07-01 10:21:17
                            帮助过:3人阅读
							                        
                     
                    
                    PHP本身自带的有一个readdir的函数,不过只能读取当前的目录,根据这个函数,我写了另外一个函数,用来实现我的需求。函数的原理很简单,主要就是用了一下递归调用。
	  
		| 代码如下 |  | 
	  
		| 
class listdir{var $depth;
 var $dirname;
 var $list;
 var $tostring;
 function listdir($dir){$this->dirname=$dir;
 $this->depth=0;
 $this->tostring=”";
 }
 //把结果保存进多维数组function getlist($dir=”"){
 if($dir==”")$dir=$this->dirname;
 $d=@dir($dir);
 while(false!==($item=$d->read()))
 {
 if($item!=”.”&&$item!=”..”)
 {
 $path=$dir.”/”.$item;
 if(is_dir($path)){
 $this->depth+=1;
 $this->getlist($path);
 }else{
 $this->list[$this->depth][]=$item;
 }
 }
 }
 $this->list[$this->depth]['directory']=$dir;
 $this->depth-=1;
 $d->close();
 return $this->list;
 }
 //字符窜化结果 function tostring($dir=”"){if($dir==”")$dir=$this->dirname;
 $d=@dir($dir);
 $this->tostring.=”
 n”;n”;$this->tostring.=”Directory:”.$dir.”n”;
 while(false!==($item=$d->read()))
 {
 if($item!=”.”&&$item!=”..”)
 {
 $path=$dir.”/”.$item;
 if(is_dir($path)){
 $this->depth+=1;
 $this->tostring($path);
 }else{
 $this->tostring.=”
 ”.$item.”n”;}
 }
 }
 $this->depth-=1;
 $d->close();
 $this->tostring.=”
 return $this->tostring;
 }
 }
 $wapdir=”jquery”;
 $d=new listdir($wapdir);
 echo $d->tostring();
 ?>
 | 
	
递归创建多级目录
1.先判断最底层目录div/css/layout是否存在;2.判断div/css/layout的上层目录div/css是否存在,不存在则以div/css作为参数递归进行
下面是程序代码:
	  
		| 代码如下 |  | 
	  
		| function mkdirs($dir){
 if(!is_dir($dir))
 {
 if(!mkdirs(dirname($dir))){
 return false;
 }
 if(!mkdir($dir,0777)){
 return false;
 }
 }
 return true;
 }
 mkdirs('div/css/layout');
 同样的思路,php用rmdir和unlink递归删除多级目录的代码:
 function rmdirs($dir){
 $d = dir($dir);
 while (false !== ($child = $d->read())){
 if($child != '.' && $child != '..'){
 if(is_dir($dir.'/'.$child))
 rmdirs($dir.'/'.$child);
 else unlink($dir.'/'.$child);
 }
 }
 $d->close();
 rmdir($dir);
 }
 | 
	
	  
	
http://www.bkjia.com/PHPjc/631583.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631583.htmlTechArticlePHP本身自带的有一个readdir的函数,不过只能读取当前的目录,根据这个函数,我写了另外一个函数,用来实现我的需求。函数的原理很简单...