技术笔记
当前位置:首页 > 商学院 > 技术笔记 > 正文内容

技术笔记

php获取目录下文件夹列表(递归)

豫唐网络2023-03-06 08:16475

获取目录下所有子目录的文件夹列表(递归函数返回的是路径的全称)

应用案例

$url="D:/wwwroot/ytecn.com/ui/";
$list=RemoveMoreSpaces($url);
print_r($list);

输出结果为:

Array ( [0] => D:/wwwroot/ytecn.com/ui/code/list [1] => D:/wwwroot/ytecn.com/ui/code [2] => D:/wwwroot/ytecn.com/ui/css [3] => D:/wwwroot/ytecn.com/ui/img [4] => D:/wwwroot/ytecn.com/ui/js [5] => D:/wwwroot/ytecn.com/ui/tinymce/langs [6] => D:/wwwroot/ytecn.com/ui/tinymce/skins [7] => D:/wwwroot/ytecn.com/ui/tinymce )

函数

function GetDirsInDir_Recursive($dir)
{
    $dirs = array();

    if (!file_exists($dir)) {
        return array();
    }
    if (!is_dir($dir)) {
        return array();
    }
    $dir = str_replace('\\', '/', $dir);
    if (substr($dir, -1) !== '/') {
        $dir .= '/';
    }

    if (function_exists('scandir')) {
        foreach (scandir($dir, 0) as $d) {
            if (is_dir($dir . $d)) {
                if (($d != '.') && ($d != '..')) {
                    $array = GetDirsInDir($dir . $d);
                    if (count($array) > 0) {
                        foreach ($array as $key => $value) {
                            $dirs[] = $dir . $d . '/' . $value;
                        }
                    }
                    $dirs[] = $dir . $d;
                }
            }
        }
    } else {
        $handle = opendir($dir);
        if ($handle) {
            while (false !== ($file = readdir($handle))) {
                if ($file != "." && $file != "..") {
                    if (is_dir($dir . $file)) {
                        $array = GetDirsInDir($dir . $file);
                        if (count($array) > 0) {
                            foreach ($array as $key => $value) {
                                $dirs[] = $dir . $file . '/' . $value;
                            }
                        }
                        $dirs[] = $dir . $file;
                    }
                }
            }
            closedir($handle);
        }
    }

    return $dirs;
}


扫描二维码推送至手机访问。

版权声明:本文由汤阴县豫唐网络科技有限公司发布,如需转载请注明出处。

本文链接:https://www.ytecn.com/post/561.html

分享给朋友:

相关文章

php将编码转换为UTF8

php将编码转换为UTF8

主要用于编码不统一导致出现乱码的情况,此函数会自动监测非UTF8编码转成UTF8编码。function ConverCode($str){ $encode = mb_d...

vscode运行php和Composer

vscode运行php和Composer

需要用到的工具1、安装php(官网下载)2、安装composer(官网)3、vscode插件PHP Server4、vscode插件PHP Debug5、windows 11系统步骤1、安装php安装...

php获取网站在服务器中用的环境

php获取网站在服务器中用的环境

判断当前网站在服务器用的什么环境function GetWebServer() {     if (!isset($_SERVER[&#...

phpRSA加密解密函数

phpRSA加密解密函数

使用方法:加密 $txt="ytecn";  $pubkey="公钥"  $macdata = RSAEn...

php删除连续空格

php删除连续空格

对字段中的连续空格进行删除只保留一个。应用案例$txt="     a b c   &nb...