функция, которая показывает все файлы и каталоги

Я попытался сделать функцию, чтобы показать все файлы и каталог (если есть) в одном выбранном каталоге.

class Test{

private $directory;

public function getDir($directory){
$this->directory = realpath($directory);
$scan = scandir($this->directory);

foreach ($scan as $value) {

if(!is_dir($this->directory.DIRECTORY_SEPARATOR.$value)){
echo '<span style="color:blue">'.$value.'</span><br>';
}else{
echo '<span style="color:red">'.$value.'</span><br>';
//Here I tried to return getDir($value) - but I retype $directory any ideas ?
}
}
}

Я думал над этим, как сделать, но … Маленькая помощь будет очень приятно.
Извините за мой плохой английский.

0

Решение

Просто используйте рекурсивный способ:

<?php
...
private $result;

public function getDir($directory) {
$files = scandir(realpath($directory));

foreach($files as $key => $value){
$path = realpath($directory .DIRECTORY_SEPARATOR. $value);
if(!is_dir($path)) {
$this->results[] = '<span style="color:blue">'.$value.'</span><br>';
} else if($value != "." && $value != "..") {
$this->getDir($path);
$this->results[] = '<span style="color:red">'.$value.'</span><br>';
}
}

return $this->results;
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector