生成目录树查看目录结构

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文件写入生成的目录结构

header("Content-Type: text/text/plain;charset=utf-8");
//这一行使文件夹下有中文目录时能正确输出中文,输出到文件时是中文,cmd下任然显示中文乱码
 1 <?php
 2 header("Content-Type: text/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 ?>


猜你喜欢

转载自www.cnblogs.com/umbed/p/11886241.html