今天使用is_dir函数测试输出目录部分,结果出错,具体如下:

我有一个目录包含以下内容:

0 File folder

false File folder

my_pictures File folder

MVI_3094 mov file

img01 jpeg image

我写了下面的代码来遍历目录,并打印出具体结果:

$handle = opendir(\"files/\");
while(($entry = readdir($handle)) !== false)
{
    if($entry == \".\" || $entry == \"..\")
    {
        continue;
    }
    if(is_dir($entry))
    {
        echo \"Directory:$entry<br />\";
    }
}

问题是,第二个if语句不输出任何结果:

echo \"Directory:$entry<br />\";

尽管是一个目录。使用var_dump输出时返回true。

后来经过仔细检查发现是路径的问题。正确代码如下:

$handle = opendir(\"files/\");
while(($entry = readdir($handle)) !== false)
{
    if($entry == \".\" || $entry == \"..\")
    {
        continue;
    }
    elseif(is_dir(\"files/\".$entry))
    {
        echo \"Directory:$entry<br />\";
    }
}
收藏 打印