递归读目录,创建目录,级联删除代码实现

<?php

// 递归读目录


function recdir($path) {
    if(!is_dir($path)) {
        echo $path,'<br />';
        return;
    }
    
    echo $path,'<br />';

    $dh = opendir($path);
    while(false !== ($sub = readdir($dh))) {
        if($sub == '.' || $sub == '..') { //windows 下  . 代表当前目录  .. 代表上一级目录 

            continue;
        }
        recdir($path . '/' . $sub);
    }
}


recdir('./rec');



// 递归创建目录



function mk_dir($path) {
    // 第一种情况,$path对应已经存在. 直接return true;
    if(is_dir($path)) {
        return true;
    }

    // 判断$path的父目录存在
    if(is_dir(dirname($path))) {
        return mkdir($path);
    }

    // 如果父目录也不存在,只好调用自己先去创建父目录.
    if(mk_dir(dirname($path))) {
        return mkdir($path);
    } else {
        return false;
    }
}


if(mk_dir('D:/www/z/y/x/w/v')) {
    echo '级联创建成功';
} else {
    echo '级联创建失败';
}



/*
递归级联删除
*/

function deleteDir($path){//没有检测目录是否存在
        $handle=opendir($path);
        while(false!==($file=readdir($handle))){
            if($file!='.'&&$file!='..'){
                $subpath=$path.'/'.$file;
                if(is_file($subpath)){
                    unlink($subpath);
                }
                if(is_dir($subpath)){
                    deleteDir($subpath);
                }                     
            }
       }
       closedir($handle);
       return rmdir($path);

}

echo deleteDir('D:/www')?'删除成功':'删除失败';

?>


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值