php生成目录树实例代码

发布时间:2020-02-09编辑:脚本学堂
本文介绍了php生成目录树的实现代码,php 目录树生成的方法,主要是php目录函数mkdir、is_dir与递归的应用,有需要的朋友参考下。

例子,php目录树生成代码。
 

复制代码 代码示例:

<?php
$dir = 'E:AppServwwwalpacaapp';

//递归生成目录树
function recurDir($pathName) {
 $result = array();
 $tmp = array();
 if( !is_dir($pathName) || !is_readable($pathName) ){
  return null;
 }
 $allFiles = scandir($pathName);
 foreach($allFiles as $fileName){
  if( in_array($fileName, array('.', '..')) ) continue;
  $fullName = $pathName . '/' . $fileName;
  if( is_dir($fullName) ){
   $result[$fileName] = recurDir($fullName);
  }else{
   $temp[] = $fileName;
  }
 }
 if($temp){
  foreach( $temp as $f ){
   $result[] = $f;
  }
 }
 
 return $result;
}
//递归遍历生成目录
//www.jb200.com
function bl($arr, $l = '-|'){
 static $l = '';
 static $str = '';
 foreach($arr as $key=>$val){
  if(is_array($arr[$key])){
   //echo $val . "<br>";
   //echo $l . $key . "<br>";
   $str .= $l . $key . "<br>";
   $l .= '-|';
   bl($arr[$key], $l);
  }else{
   //echo $l . $val . "<br>";
   $str .= $l . $val . "<br>";
  }
 }
 $l = '';
 return $str;
}


$tree = recurDir($dir);
echo "<pre>";
print_r($tree);
echo "</pre>";
echo "<br>------------------------------------------<br>";
$data = bl($tree);
echo "<pre>";
print_r($data);
echo "</pre>";