热搜:NVER 

thinkphp清空全部目录(包括子目录)

2024-04-25 20:29:01
 thinkphp清空全部目录(包括子目录)

thinkphp清空所有目录(包括子目录)

在admin项目的Common目录下common.php文件:

/**
*   删除xml目录下的所有xml文件
*   string $fp  文件路径(不包括文件名)
*   string $fn  文件名称(包括扩展名)
*   boolean $type 是否关联到所有子目录
*/
function delXML($type=true,$fn='',$fp='./xml'){
 if(!is_dir($fp)){
  return 'nodir';  //被删除目录不存在
 }else{
  if(!is_empty_dir($fp)){//如果不是空的     
   $H = @ opendir($fp);
   while(false !== ($_file=readdir($H))){
    //检索目录
    if(is_dir($fp."/".$_file) && $_file != "." && $_file!=".." && $_file!=="Thumbs.db"){
     if($type){
      if(!is_empty_dir($fp.'/'.$_file)){//如果不是,调用自身,不过是原来的路径+他下级的目录名   
       delXML($type,$fn,$fp."/".$_file);
      }   
      if(is_empty_dir($fp.'/'.$_file)){//如果是空就直接删除   
       rmdir($fp.'/'.$_file);   
      }   
     }
    //检索文件
    }else if(is_file($fp."/".$_file) && $_file!="." && $_file!=".." && $_file!=="Thumbs.db"){
     if(eregi('/'.$file,'/'.$_file)){
      if(!unlink($fp.'/'.$_file)){
       return false; //删除失败
      }
     }
    }
   }
   closedir($H);  
  }   
  return true;   //删除失败
 }
}   

//判断目录是否为空,true为空,false为不空
function is_empty_dir($fp)   
{   
 $H = @ opendir($fp);
 $i=0;   
 while($_file=readdir($H)){   
  $i++;   
 }   
 closedir($H);   
 if($i>2){
  return false;
 }else{
  return true;  
 }
}

 

调用方法:

在admin项目的Action目录下SiteMapAction.class.php文件:

class SiteMapAction extends Action {

 //删除全部xml目录地图文件
 function delXML(){
  $flag = delXML();
  exit($flag);
 }

}

 

静态页面ajax方法:







删除目录文件







?