php使用is_dir判断目录出错的问题

时间:2016-09-18
今天在使用php is_dir函数判断目录时出了一点小问题,问题主要出现在目录的路径上,于是记录下来,防止大家以后出现类似错误,具体详情请看文章内容部分,需要的朋友可以参考一下。

今天使用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 />";
    }
}