一个简单的目录递归函数

林继 PHP 技术 9,882 共写了37个字 (2006-05-10 10:01:47) 3条评论 打印 扫描二维码 百度已收录

以下是代码及注释。

  1. <?php  
  2.  
  3. /* 一个简单的目录递归函数。*/  
  4.  
  5. function tree($directory)  
  6. {  
  7.     $mydir=dir($directory);     // URL : http://cn.php.net/manual/zh/class.dir.php 
  8.  
  9. /* 使用 dir -- directory 类,给定的 directory 被打开。一旦目录被打开,有两个属性可用。handle 属性可以用在其它目录函数例如 readdir(),rewinddir() 和 closedir() 中。path 属性被设为被打开的目录路径。有三个方法可用:read,rewind 和 close。 */ 
  10.  
  11.     echo "<ul>";  
  12.  
  13.     while($file=$mydir->read()){    
  14.  
  15. /* URL : http://cn.php.net/manual/zh/control-structures.while.php 
  16.     while 循环是 PHP 中最简单的循环类型。它和 C 语言中的 while 表现得一样。 
  17.  
  18.    定义一个变量 $file 并对其赋值,其值就是通过 $mydir->read() 获得当前的目录或文件名 */ 
  19.  
  20.     if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!=".."))  
  21.  
  22. // 如果 $file 是一个目录名并且不等于 . 及 .. 时执行以下语句 
  23.  
  24. /* URL :http://cn.php.net/manual/zh/language.control-structures.php#control-structures.if 
  25.     if 结构是很多语言包括 PHP 在内最重要的特性之一,它允许按照条件执行代码片段。 
  26.  
  27.     URL : http://cn.php.net/manual/zh/function.is-dir.php 
  28.     is_dir -- 判断给定文件名是否是一个目录,如果文件名存在并且为目录则返回 TRUE。如果 filename 是一个相对路径,则按照当前工作目录检查其相对路径。*/ 
  29.  
  30.     { 
  31.         echo "<li><font color=#ff00cc><b>$file</b></font></li><br /><br /> ";  
  32.  
  33.        // 将目录名显示出来 
  34.  
  35.         tree("$directory/$file");  
  36.  
  37.        // 再次调用函数 tree(),并将当前目录名做为参数传送,以便将目录中所有文件及目录列出来 
  38.  
  39.         echo "Handle: " . $mydir->handle . "<br />n";  // 将目录及文件句柄显示出来 
  40.         echo "Path: " . $mydir->path . "<br />n";  // 将当前路径显示出来 
  41.     }  
  42.     else    // 如果 $file 是一个文件名时执行以下语句 
  43.  
  44.         echo "<li>$file</li><br /><br />";                          // 将文件名显示出来 
  45.         echo "Handle: " . $mydir->handle . "<br />n";     // 将目录及文件句柄显示出来 
  46.         echo "Path: " . $mydir->path . "<br /><br />n";  // 将当前路径显示出来 
  47.     }  
  48.     echo "</ul>";  
  49.     $mydir->close();  
  50. } 
  51.  
  52. //start the program  
  53.  
  54. echo "<h2>目录为粉红色</h2>";  
  55. tree(".");    // 调用自定义函数 tree ,并将值 . 传给函数, . 在这里表示根目录 
  56. ?>

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

3条评论
  • Westy.Hc

    2006年5月10日 10:21:20

    小小晕一下
    呵呵

  • Westy.Hc

    2006年5月10日 4:14:13

    想请教一下PHP代码高亮的实现方法……

    1. 林继

      2006年5月10日 5:37:26

      Blog已经有这个功能,只是没有做成按钮。
      用以下符号就可以实现。

      [ PHP ]   // 请将空格去掉,再使用

      —- 代码 —

      [/ PHP]    // 请将空格去掉,再使用

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >