`

递归显示当前目录树,可自定义结点标记

    博客分类:
  • php
阅读更多
//静态层级数
static $i = 0;

//递归目录
function showfile($dir){
	global $i;
	$d = dir($dir);
	//echo "Handle: " . $d->handle . "\n";
	//echo "Path: " . $d->path . "\n";
	$i++;
	$space = printSpace($i);
	while ( false !== ($entry = $d->read ()) ) {
		//echo $entry . "<br />";
		//echo "<font color=red>".$dir."/".$entry."</font><br/>";
		if($entry!='.' && $entry!='..' && is_dir($dir."/".$entry)){
			echo "<font color=red>".$space.$entry."</font><br/>";
			showfile($dir."/".$entry);
		}else{
			if(is_file($dir."/".$entry)){
				echo $space.$entry."<br/>";
			}
		}
	}
	$d->close ();
	$i--;
	
}

//自定义输出层级标记,默认-
function printSpace($num,$concatStr='-'){
	for($i=0;$i<$num;$i++){
		$str.=$concatStr;
	}
	return $str;
}

//示例:  当前目录
showfile(dirname(__file__));

 

输出如下格式(红色为目录):

 

-.project
-.buildpath
-.settings
--org.eclipse.php.core.prefs
--org.eclipse.core.resources.prefs
-client.php
-example.php
-FZAPI.php
-rsa
--testrsa.php
--rsa.php
--ssl-key
---priv.key
---pub.key
-phpinfo.php


....

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics