菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
433
0

生成目录树查看目录结构

原创
05/13 14:22
阅读数 44135

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 ?>


 

发表评论

0/200
433 点赞
0 评论
收藏