簡體   English   中英

如何獲取目錄列表到目錄中的第2級

[英]how to get directory list upto level 2 in 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可能包含子文件夾,但根據最大級別條件,它不應停止運行超過第二個級別的行。

謝謝

“ 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');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM