php 递归创建及删除目录

来源:互联网 发布:视频编辑软件免费版 编辑:程序博客网 时间:2024/05/22 03:48
//递归创建目录
function recursive_mkdir($created_path, $before_path, $mode = 0777) {
     $dirs = explode('/' , $created_path);
     $count = count($dirs);
     for ($i = 0; $i < $count; ++$i) {
         if (empty($dirs[$i])) continue;
 
         $before_path .= $dirs[$i]."/";
         if (!is_dir($before_path) && !mkdir($before_path, $mode)) {
             continue;
         }
     }
}
$path = "a/b/c/d/e/f/g/";
recursive_mkdir($path,'/');
recursive_mkdir($path,'/a/b/');
exit; 
//删除目录及目录下文件
function deldir($path){
    //给定的目录不是一个文件夹
    if(!is_dir($path)){
        return null;
    }
    $fh = opendir($path);
    while(($row = readdir($fh)) !== false){
        //过滤掉虚拟目录
        if($row == '.' || $row == '..'){
            continue;
        }
        if(!is_dir($path.'/'.$row)){
            unlink($path.'/'.$row);
        }
        deldir($path.'/'.$row);
//$this->deldir($path.'/'.$row);
    }
    //关闭目录句柄,否则出Permission denied
    closedir($fh);
    //删除文件之后再删除自身
    if(!rmdir($path)){
        echo $path.'无权限删除<br>';
    }
    return true;
}
$path = "/a/b/a/b/";
deldir($path);
exit;
0 0