is_dir没有在其他文件夹中拾取目录

时间:2015-12-10 13:51:57

标签: php

正如您所看到的,脚本读取$ currentDir并将其放入$ unsortedDir(所有目录和文件),然后foreach循环将摆脱“。”。和“..”,然后它检查它是一个目录还是一个文件,如果它是一个目录,它将它放在一个名为$ isDir的列表中,如果它是一个文件,它将它放入名为$ isFile的列表中。

但是,它没有检测到admin@admin.com文件夹中的目录...它将所有目录都放在$ isFile

$user = "admin@admin.com";
$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] =&gt;。[1] =&gt; .. [2] =&gt;新文件夹[3] =&gt; pics [4] =&gt; screenshot(2).png [5] =&gt; screenshot(3).png [6] =&gt; screenshot(4).png [7] =&gt; screenshot.png [8] =&gt; Thumbs.db)

Array()

数组([0] =&gt;新文件夹[1] =&gt; pics [2] =&gt; screenshot(2).png [3] =&gt; screenshot(3).png [4] =&gt; screenshot(4).png [5] =&gt; screenshot.png [6] =&gt; Thumbs.db)

1 个答案:

答案 0 :(得分:1)

使用is_dir($currentDir . $sortDir)