is_dir не собирает каталоги в других папках

1

Как видите, скрипт читает $ currentDir и помещает его в $ unsortedDir (все каталоги и файлы), тогда цикл foreach избавляется от "." и "..", то он проверяет, является ли это каталогом или файлом, если он представляет каталог, который он помещает в список с именем $ isDir, и если это файл, он помещает его в список с именем $ isFile.

Однако он не обнаруживает каталоги внутри папки [email protected]... он ставит все каталоги как $ isFile

$user = "[email protected]";
$currentDir = "uploads/$user/";
$isDir = array();
$isFile = array();

$unsortedDir = scandir($currentDir, 2);

foreach($unsortedDir as $sortDir){
    if ($sortDir == "." || $sortDir == ".."){
    } else {
        if (is_dir($sortDir)){
            $isDir[] = $sortDir;
        } else {
            $isFile[] = $sortDir;
        }
    }
}

print_r($unsortedDir);echo"<br><br><br>";
print_r($isDir);echo"<br><br><br>";
print_r($isFile);echo"<br>";

Это результат:

Массив ([0] =>. [1] =>.. [2] => Новая папка [3] => pics [4] => снимок экрана (2).png [5] => снимок экрана (3).png [6] => снимок экрана (4).png [7] => screenshot.png [8] => Thumbs.db)

Массив()

Array ([0] => Новая папка [1] => фото [2] => снимок экрана (2).png [3] => снимок экрана (3).png [4] => снимок экрана (4).png [5 ] => screenshot.png [6] => Thumbs.db)

Теги:

1 ответ

1

Используйте is_dir($currentDir. $sortDir)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню