如何将目录列表升级到目录中的第2级

时间:2014-11-20 09:28:46

标签: php directory

如何从文件夹到级别2获取文件和目录列表?这里的水平是动态的。

例如:

1
  1.1
  1.2
  1.3
2
  2.1
  2.2
3
  3.1
4
  4.1
  4.2

1,2,3,4 - 是文件夹,1.1,1.2,1.3 ..etc可能是文件夹/文件。 1.1,1.2可能有子文件夹,但根据最高级别条件,它不应该停止超过第二级。

由于

1 个答案:

答案 0 :(得分:0)

" while loop"在语句为假之前不断循环。

while (readdir)
    if(folder)
        while(readir)
            if(file)
                echo filename
    else
        echo filename

PHP示例(Linux):

class start_class {

    var $limit = 3;
    var $lvl = false;

    function open_directory($dir){
        if(!$this->lvl){
            $this->limit = $this->limit + substr_count($dir,'/');
            $this->lvl = true;
        }

        $handle = opendir($dir);

        while (false !== ($entry = readdir($handle))) {

            if(!preg_match('[^(\.)]',$entry)){
                if(@opendir( ($sub = $dir.'/'.$entry) ) !== false){
                    if($this->limit > substr_count($dir,'/')){
                        echo $sub;
                        echo '<br>';
                        $this->open_directory($sub);
                    }
                }else{
                    echo $dir.'/'.$entry;
                    echo '<br>';
                }
            }
        }

    }

}

$class = new start_class();
$class->limit = 2;
$class->open_directory('/var/www');