• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

PHP之递归遍历目录与删除

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
/**
 * @Description: 递归查询目录文件
 * @Author: Yang
 * @param $path
 * @param int $level
 * @return array
 */
function listDirs($path, $level = 0)
{
    $dir_handle = opendir($path);
    static $tree = array();
    while (false !== $file = readdir($dir_handle)) {
        if ($file == '.' || $file == '..') continue;
        $fileInfo["fileName"] = $file;
        $fileInfo["level"] = $level;
        $tree[] = $fileInfo;
        //判断当前是否为目录
        if (is_dir($path . '/' . $file)) {
            //是目录
            listDirs($path . '/' . $file, $level+1);
        }
    }
    closedir($dir_handle);
    return $tree;
}

$list = listDirs("D:\\wwwroot\\www.phpdemo.com");
foreach ($list as $k => $v) {
    echo "|--".str_repeat("--", $v['level']*2).$v['fileName']."<br>";
}

运行结果如下:

/**
 * @Description: 递归删除目录文件
 * @Author: Yang
 * @param $path
 * @return bool
 */
function removeDirs($path)
{
    $dir_handle = opendir($path);
    while (false !== $file = readdir($dir_handle)) {
        if ($file == '.' || $file == '..') continue;
        //判断当前是否为目录
        if (is_dir($path . '/' . $file)) {
            //是目录
            removeDirs($path . '/' . $file);
        }else{
            @unlink($path . '/' . $file);
        }
    }
    closedir($dir_handle);
    return @rmdir($path);
}

 

/**
 * 递归创建目录
 * @param $path 路径
 * @return bool
 */
function mkdirs($path) {
    if (!is_dir($path)) {
        mkdirs(dirname($path));
        mkdir($path);
    }
    return is_dir($path);
}

 

/**
 * 递归删除目录
 * @param $path 删除路径
 * @param bool $clean
 * @return bool
 */
function rmdirs($path, $clean = false) {
    if (!is_dir($path)) {
        return false;
    }
    $files = glob($path . '/*');
    if ($files) {
        foreach ($files as $file) {
            is_dir($file) ? rmdirs($file) : @unlink($file);
        }
    }
    return $clean ? true : @rmdir($path);
}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
php中重写和final关键字的使用发布时间:2022-07-10
下一篇:
php面向对象之__toString()发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap