递归展示当前目录树,可自定义结点标记
递归显示当前目录树,可自定义结点标记
//静态层级数 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
....