生成目录树查看目录结构
1.cmd下生成目录树
windows下打开cmd通过"tree"命令查看目录结构
通过 "tree /?" 查看帮助:
以图形显示驱动器或路径的文件夹结构。 TREE [drive:][path] [/F] [/A] /F 显示每个文件夹中文件的名称。 /A 使用 ASCII 字符,而不使用扩展字符。
显示当前路径下的文件夹结构:
tree
显示指定路径下的文件夹结构:
tree D:\Python
tree "D:\Program file\" (路径中有空格加引号)
显示文件夹和文件结构:
tree /f
生成目录树输出到指定文件内:
tree D:\Python /F > dirtree.txt
2.用PHP生成目录树
通过递归读取目录,以下代码保存为dirtree.php文件,存放在需要检索的目录下。
可以通过php安装目录的php.exe或php-cgi.exe执行,
如果配置了php环境变量可以打开cmd切换到该目录下输入“PHP dirtree.php”
默认情况下控制台会输出目录结构,并在该文件夹下生成dirtree.txt文件写入生成的目录结构
1 <?php 2 header("Content-Type: text/plain; charset=utf-8"); 3 //获取根目录路径 4 $dir=__DIR__; 5 //创建需要写入的文件 6 $file = fopen("dirtree.txt", 'a+'); 7 8 dirtree($dir, $file); 9 10 /** 11 * @param mixed $dir 根目录路径 12 * @param mixed $file 将生成的目录树写入到此文件内 13 * @param int $number 目录层数,控制缩进用,根目录下为0, 14 * 根目录的子目录下为1,子目录的子目录为2,依次增长 15 * @return void 16 */ 17 18 function dirtree($dir, $file, $number=0) 19 { 20 //获得根目录句柄 21 $root = opendir($dir); 22 //获取目录中下一个文件的文件名,成功返回文件名,失败返回false 23 $filename = readdir($root); 24 //排除目录"."和".." 25 while($filename=="."|$filename==".."){ 26 $filename = readdir($root); 27 } 28 //控制子目录的缩进 29 $content = "|"; 30 for($i=$number;$i>0;$i--){ 31 $content = $content."\t"; 32 } 33 $number= $number+1; 34 35 while ($filename) { 36 echo $content."|-- ".$filename."\r\n"; 37 // 写入文件 38 fwrite($file, $content."|-- ".$filename."\r\n"); 39 // 如果当前文件是文件夹,就递归调用 40 if (is_dir($dir."\\".$filename)) { 41 dirtree($dir."\\".$filename, $file, $number); 42 } 43 $filename = readdir($root); 44 } 45 } 46 ?>