目录文件夹/文件列表到数组php
我有一个小函数,它将目录文件夹/文件列表作为多维数组提供给我 我怎样才能拥有具有以下结构的目录列表。(方案编号:3) 我的当前文件夹列表为数组目录文件夹/文件列表到数组php,php,arrays,recursion,multidimensional-array,iteration,Php,Arrays,Recursion,Multidimensional Array,Iteration,我有一个小函数,它将目录文件夹/文件列表作为多维数组提供给我 我怎样才能拥有具有以下结构的目录列表。(方案编号:3) 我的当前文件夹列表为数组 $files = array ( 0 => 'do-update.php', 1 => 'sitemap.xml', 2 => 'sitemap.xml.gz', 3 => 'wp-config.php', 'wp-content' => array ( 'uploads' =>
$files = array (
0 => 'do-update.php',
1 => 'sitemap.xml',
2 => 'sitemap.xml.gz',
3 => 'wp-config.php',
'wp-content' =>
array (
'uploads' =>
array (
2013 =>
array (
'05' =>
array (
0 => 'kabeduvarkad-1024x768.jpg',
1 => 'kabeduvarkad-150x150.jpg',
2 => 'kabeduvarkad-300x225.jpg',
3 => 'kabeduvarkad-940x198.jpg',
),
10 =>
array (
),
),
2014 =>
array (
'02' =>
array (
),
),
2015 => 'de.php',
),
),
'wp-update' =>
array (
0 => 'wp-update.tar',
1 => 'wp-update.tar.gz',
2 => 'wp-update1.tar',
3 => 'wp-update1.tar.gz',
),
4 => 'wp-update.tar.gz',
);
$expected = array (
0 => 'do-update.php',
1 => 'sitemap.xml',
2 => 'sitemap.xml.gz',
3 => 'test.php',
4 => 'wp-config.php',
5 => 'wp-content/',
6 => 'wp-content/uploads/',
7 => 'wp-content/uploads/2013/',
8 => 'wp-content/uploads/2013/05/',
9 => 'wp-content/uploads/2013/05/kabeduvarkad-1024x768.jpg',
10 => 'wp-content/uploads/2013/05/kabeduvarkad-150x150.jpg',
11 => 'wp-content/uploads/2013/05/kabeduvarkad-300x225.jpg',
12 => 'wp-content/uploads/2013/05/kabeduvarkad-940x198.jpg',
13 => 'wp-content/uploads/2013/05/kabeduvarkad.jpg',
14 => '...'
);
预期文件夹列表为数组
$files = array (
0 => 'do-update.php',
1 => 'sitemap.xml',
2 => 'sitemap.xml.gz',
3 => 'wp-config.php',
'wp-content' =>
array (
'uploads' =>
array (
2013 =>
array (
'05' =>
array (
0 => 'kabeduvarkad-1024x768.jpg',
1 => 'kabeduvarkad-150x150.jpg',
2 => 'kabeduvarkad-300x225.jpg',
3 => 'kabeduvarkad-940x198.jpg',
),
10 =>
array (
),
),
2014 =>
array (
'02' =>
array (
),
),
2015 => 'de.php',
),
),
'wp-update' =>
array (
0 => 'wp-update.tar',
1 => 'wp-update.tar.gz',
2 => 'wp-update1.tar',
3 => 'wp-update1.tar.gz',
),
4 => 'wp-update.tar.gz',
);
$expected = array (
0 => 'do-update.php',
1 => 'sitemap.xml',
2 => 'sitemap.xml.gz',
3 => 'test.php',
4 => 'wp-config.php',
5 => 'wp-content/',
6 => 'wp-content/uploads/',
7 => 'wp-content/uploads/2013/',
8 => 'wp-content/uploads/2013/05/',
9 => 'wp-content/uploads/2013/05/kabeduvarkad-1024x768.jpg',
10 => 'wp-content/uploads/2013/05/kabeduvarkad-150x150.jpg',
11 => 'wp-content/uploads/2013/05/kabeduvarkad-300x225.jpg',
12 => 'wp-content/uploads/2013/05/kabeduvarkad-940x198.jpg',
13 => 'wp-content/uploads/2013/05/kabeduvarkad.jpg',
14 => '...'
);
这是您要找的内容试试看
function dirToArray($dir){
$contents = array();
foreach (scandir($dir) as $node)
{
if($node == '.' || $node == '..' ) continue;
if(is_dir($dir . '/' . $node )) { $contents[]=$dir . '/' . $node;
$contents[]=dirToArray($dir.'/' . $node);
}
else
{
$contents[] = $dir.'/' .$node;
}
}
return $contents;
}
$dir='abcd'; $result=dirToArray($dir);
$it= new RecursiveIteratorIterator (new RecursiveArrayIterator($result)); $l=iterator_to_array($it,false);
echo '<pre>';
print_r($l);
echo '</pre>';
函数dirToArray($dir){
$contents=array();
foreach(scandir($dir)作为$node)
{
如果($node='.| |$node=''.')继续;
如果(is_dir($dir.'/'.$node)){$contents[]=$dir.'/'.$node;
$contents[]=dirToArray($dir.'/'.$node);
}
其他的
{
$contents[]=$dir.'/'.$node;
}
}
返回$contents;
}
$dir='abcd'$结果=dirToArray($dir);
$it=new RecursiveIteratorIterator(new RecursiveArrayIterator($result))$l=迭代器到数组($it,false);
回声';
印刷费($l);
回声';
似乎是脚本的源代码。我和你的有些不同。我不理解你和这个的关系。对不起。我粘贴了一个链接,我在另一个问题中添加了链接。请尝试使用“查找所有文件”函数。此函数不会返回空文件夹。此脚本不会返回空目录非常感谢您实际返回$contents数组