要实现递归查询树形目录,可以使用递归函数来遍历目录树。
以下是一个示例代码:
function searchTree($directory) {
$result = [];
// 打开目录
$handle = opendir($directory);
// 遍历目录中的文件和子目录
while (false !== ($file = readdir($handle))) {
if ($file != '.' && $file != '..') {
$path = $directory . '/' . $file;
// 如果是目录,则递归调用searchTree函数
if (is_dir($path)) {
$result[$file] = searchTree($path);
} else {
$result[] = $file;
}
}
}
// 关闭目录
closedir($handle);
return $result;
}
// 调用searchTree函数
$tree = searchTree('/path/to/directory');
// 打印树形目录
print_r($tree);
在上述代码中,searchTree
函数接受一个目录路径作为参数,并返回一个树形结构的数组。该函数首先打开目录,然后遍历目录中的文件和子目录。如果遍历到的是一个子目录,则递归调用searchTree
函数,将子目录作为参数传递给它。如果遍历到的是一个文件,则将文件名添加到结果数组中。最后,关闭目录并返回结果数组。
你可以将/path/to/directory
替换为你要查询的目录路径。
下一篇:php task命令
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站