如何使目录树从数组


How to make dir tree from array

我已经得到了一个目录数组,我将使用下面的代码目录树…我的问题是如何从这个数组中创建一个树?通过这段代码,我得到了这个:

Array (
    [0] => store/555555//Osnovni documenti
    [1] => store/555555//Ostali dokumenti
    [2] => store/555555//Pictures )

现在如何实现这个?这样我可以得到目录树?有什么东西可以做到吗?

echo"<pre>";
function make_tree_recursive($path, $levels){
//where $path is your source dir, $levels is the maximum recursives
    $handle=opendir($path);
    while($a=readdir($handle)){
      if(!preg_match('/^'./',$a)){
        $full_path="$path/$a";
        $list[]=$full_path;
        if((is_dir($full_path))&&(!preg_match('/('/.+){'.$levels.',}/',$full_path))){
          $recursive=make_tree_recursive($full_path, $levels);
          for($n=0; $n<count($recursive); $n++){
              $list[]=$recursive[$n];
          }
        }
      }
    }
    closedir($handle);
    return $list;
}
$list = make_tree_recursive("store/".$diro."/", 3);
print_r ($list);
echo"</pre>";

使用array_flip翻转路径数组,并使用expdetree库

// let '/' be our delimiter
$tree = explodeTree($key_files, "/");
// show the array
print_r($tree);
http://kevin.vanzonneveld.net/techblog/article/convert_anything_to_tree_structures_in_php/

cat <<000 >a0.a
aa/store
aa/store/555555
aa/store/555555/Osnovni documenti
aa/store/555555/Ostali dokumenti
aa/store/555555/Pictures
000
cat a0.a |
    grep -P . |
    while read d0; do echo --- $d0; mkdir -pv $PWD/aa/"$d0"
        done