<?php function myScandir($dir){ static $flag=''; //设置缩进显示格式 $files = scandir($dir);//读取当前文件夹的文件 $flag.="--"; //每层文件夹比上层文件夹缩进两格- foreach ($files as $file) { if ($file=='.'||$file=='..') continue;//排除. 和 .. if(is_dir($dir.'/'.$file)){ //递归处理文件夹 echo $flag; echo '<font color="blue">','文件夹:'.$file,'</font>',"</br>"; myScandir($dir.'/'.$file);// $flag = substr($flag, 0,strlen($flag)-2);//调用完子目录时,返回上级时,缩进需要减去两格 } else {//处理文件 echo $flag; echo '<font color="red">','文件:'.$file,'</font>',"</br>"; } } } myScandir("./");//测试用例