Как получить файлы и список каталогов из папки до уровня 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');