日期:2014-05-16  浏览次数:20528 次

递归读取目录结构到数组中并保存目录结构 php新手

<?php
$arr_dir = array();
$path    = './';
//递归读取目录结构到数组中并保存目录结构
function makeDir($path,&$arr)
{
$dir = opendir($path);
while(($file=readdir($dir))!==FALSE)
{
if($file!='.'&&$file!='..')
{
var_dump($file);
if(!is_dir($path.'/'.$file))
{
$arr[] = $file;
}
else
{

makeDir($path.'/'.$file, $arr[$file]);
}
}
}
closedir($dir);
}
makeDir($path, $arr_dir);
var_dump($arr_dir);
?>



------解决方案--------------------
有什么问题么?
------解决方案--------------------

------解决方案--------------------
以为你遇到问题了。原来是狼来了。。。
------解决方案--------------------
用迭代器不是很简单?
$p = './';
$ite = new RecursiveDirectoryIterator($p);
foreach (new RecursiveIteratorIterator($ite) as $filename=>$cur) {
  if(is_dir($filename)) continue;
  $res[] = $filename;
}
print_r($res);