PHP 递归Glob文件树
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 递归Glob文件树相关的知识,希望对你有一定的参考价值。
/* to use:
pattern = glob pattern to match
flags = glob flags
path = path to search
depth = how deep to travel, -1 for unlimited, 0 for only current directory
*/
$folders = folder_tree('*.*', 0, '/path_here/', -1);
print_r($folders);
function folder_tree($pattern = '*', $flags = 0, $path = false, $depth = 0, $level = 0) {
$tree = array();
$files = glob($path.$pattern, $flags);
$paths = glob($path.'*', GLOB_ONLYDIR|GLOB_NOSORT);
if (!empty($paths) && ($level < $depth || $depth == -1)) {
$level++;
foreach ($paths as $sub_path) {
$tree[$sub_path] = folder_tree($pattern, $flags, $sub_path.DIRECTORY_SEPARATOR, $depth, $level);
}
}
$tree = array_merge($tree, $files);
return $tree;
}
以上是关于PHP 递归Glob文件树的主要内容,如果未能解决你的问题,请参考以下文章
php 递归删除目录
python标准库glob 递归目录下所有文件
python 使用glob对所有用户主文件夹执行递归文件搜索
使用 PHP 递归搜索目录中的文件并更改值
如何使用正则表达式 (glob) 搜索文件树
选择带有递归glob for babel命令的文件