我有这个工作函数,找到文件夹并创建一个数组.
function dua_get_files($path)
{
foreach (glob($path . "/*", GLOB_ONLYDIR) as $filename)
{
$dir_paths[] = $filename;
}
return $dir_paths;
}
Run Code Online (Sandbox Code Playgroud)
此功能只能查找当前位置的目录.我想在子文件夹及其子文件夹中找到目录路径,依此类推.
该数组仍应是目录路径的平面列表.
输出数组应如何显示的示例
$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';
Run Code Online (Sandbox Code Playgroud) 这是我的PHP脚本:
<?php
$path = $_SERVER['DOCUMENT_ROOT'].'/test';
$objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), RecursiveIteratorIterator::SELF_FIRST);
foreach($objects as $name => $object){
echo $objects->getDepth() . " " . $object->getFilename() . "<br/>";
}
?>
Run Code Online (Sandbox Code Playgroud)
这是脚本迭代的目录/文件树.(它位于一个名为$ _SERVER ['DOCUMENT_ROOT']的简单根目录中.'/ test'):
/food
/food/drinks
/food/drinks/water.html
/food/drinks/milk.html
/food/drinks/soda.html
/food/entrees
/food/entrees/hot
/food/entrees/hot/hamburger.html
/food/entrees/hot/pizza.html
/food/entrees/cold
/food/entrees/cold/icecream.html
/food/entrees/cold/salad.html
/cosmetics
/cosmetics/perfume
/cosmetics/perfume/chic.html
/cosmetics/perfume/polo.html
/cosmetics/perfume/lust.html
/cosmetics/lipstick
/cosmetics/lipstick/colors
/cosmetics/lipstick/colors/red.html
/cosmetics/lipstick/colors/pink.html
/cosmetics/lipstick/colors/purple.html
Run Code Online (Sandbox Code Playgroud)
这是脚本输出的内容:
0 food
1 drinks
2 milk.html
2 water.html
2 soda.html
1 info.php
1 entrees
2 hot
3 pizza.html
3 hamburger.html
2 cold
3 ice_cream.html
3 salad.html …Run Code Online (Sandbox Code Playgroud)