PHP遍历列文件、目录

< ?php
/************************************
    Name: ListDir
    Author: Riyao Chen
    Version: 0.0.1
    Date: 2006-05-16
    License: GPL

//This class is to list all file & directory follow a directory
//Parameter:$strdir ,which directory you want list; $del_url,the manage URL,
*********************************/
class ListDir{

var $dir;
var $edit_url="";
var $del_url="";

var $num = 0;

function ListDir($strdir,$del_url="",$edit_url="")
{
$this->dir = $strdir;
$this->del_url = $del_url;
$this->edit_url = $edit_url;
}

function MakeDir($StrDir)
{
//global $num;
if (is_dir($StrDir)) {
      if ($dh = @opendir($StrDir)) {
          while (($file = readdir($dh)) !== false) {

           $newdir = $StrDir.$file;
           if($file == "." || $file == "..")
               {
                continue;
               }

               $this->num = $this->num + 1;
               print str_repeat(" ",$this->num);

               if(filetype($newdir)=="dir")
               {
                print "<br>";
                print "$file [目录]<br>\n";
               }
               else
               {

                //print "<a href='".$this->del_url."?file=".$newdir."'>EDIT</a> <a href='".$newdir."'>$file</a> <br>\n";
    //这里改成自己的显示函数
    print "<a href='".$newdir."'>$file</a> <br>\n";
    }
               if(is_dir($newdir))
               {
                $this->MakeDir($newdir."/");
                }

               $this->num = $this->num - 1;
          }
         print "<br>";
      closedir($dh);
      }
}

}

function ShowDir()
{
$this->MakeDir($this->dir);
}
}

//下面是一个例子

$dir = new ListDir("images/","http://127.0.0.1/xml_album/list.php");
$dir->ShowDir();

? >