php 获取指定目录下面的所有目录

时间:2023年10月04日

/

来源:网络

/

编辑:佚名

可以使用PHP的scandir()函数和is_dir()函数来获取指定目录下的所有目录。
scandir()函数返回一个包含指定目录中所有文件和目录的数组,is_dir()函数用于判断给定的路径是否是一个目录。
下面是一个示例代码,它使用了这两个函数来获取指定目录下的所有目录:
<?php
// 指定要查找的目录
$dir = "/path/to/directory";
// 使用scandir()函数获取目录中的所有文件和目录
$files = scandir($dir);
// 遍历所有文件和目录,使用is_dir()函数判断是否是目录
foreach ($files as $file) {
    if ($file != "." && $file != ".." && is_dir($dir . "/" . $file)) {
        echo $file . "\n";
    }
}
?>
在上面的代码中,$dir变量指定要查找的目录。使用scandir()函数获取目录中的所有文件和目录,然后使用foreach循环遍历每个文件和目录。对于每个文件和目录,使用is_dir()函数判断是否是一个目录,如果是,则将目录名打印出来。注意,为了排除当前目录(”.”)和上级目录(”..”),在遍历时需要加上判断条件$file != "." && $file != ".."。
封装成函数
你需要多次使用一个代码块时,可以将其封装成一个函数,以便于在需要时进行调用。
下面是一个将获取指定目录下所有目录封装成函数的示例代码:
function getDirectories($dir) {
    $directories = array();
    if (is_dir($dir)) {
        $files = scandir($dir);
        foreach ($files as $file) {
            if ($file != "." && $file != ".." && is_dir($dir . "/" . $file)) {
                $directories[] = $file;
            }
        }
    }
    return $directories;
}
在这个函数中,我们传入一个参数$dir,该参数是要查找的目录的路径。函数首先创建一个空数组$directories,用于存储找到的目录名称。然后使用is_dir()函数判断传入的目录是否是一个合法的目录,如果是,就使用scandir()函数获取目录下的所有文件和目录。接着使用foreach循环遍历每个文件和目录,使用is_dir()函数判断是否是一个目录,如果是,将目录名添加到$directories数组中。最后,函数返回$directories数组,其中包含所有找到的目录名称。
要调用这个函数,只需要传入要查找的目录的路径即可,例如:
$dir = "/path/to/directory";
$directories = getDirectories($dir);
print_r($directories);
上述代码将获取$dir目录下的所有目录,并将它们存储在$directories数组中,然后使用print_r()函数打印出来。
猜你需要

豫ICP备2021026617号-1  豫公网安备:41172602000185   Copyright © 2021-2028 www.78moban.com/ All Rights Reserved

本站作品均来自互联网,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如有侵犯您的版权,请联系 1565229909#qq.com(把#改成@),我们将立即处理。