我有这个工作功能,可以找到文件夹并创建一个数组。
function dua_get_files($path)
{
foreach (glob($path . "/*", GLOB_ONLYDIR) as $filename)
{
$dir_paths[] = $filename;
}
return $dir_paths;
}
此功能只能在当前位置找到目录。我想在子文件夹及其子文件夹中找到目录路径。
该数组仍应是目录路径的平面列表。
输出数组应类似于的示例
$dir_path[0] = 'path/folder1';
$dir_path[1] = 'path/folder1/child_folder1';
$dir_path[2] = 'path/folder1/child_folder2';
$dir_path[3] = 'path/folder2';
$dir_path[4] = 'path/folder2/child_folder1';
$dir_path[5] = 'path/folder2/child_folder2';
$dir_path[6] = 'path/folder2/child_folder3';
最佳答案
如果要递归处理目录,则应查看 RecursiveDirectoryIterator
。
$path = realpath('/etc');
$objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), RecursiveIteratorIterator::SELF_FIRST);
foreach($objects as $name => $object){
echo "$name\n";
}
关于php - 使用PHP Glob获取文件夹-无限深度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5769514/