Php opendir/readdir是否存在故障?

Php opendir/readdir是否存在故障?,php,active-directory,Php,Active Directory,以下是我的PHP代码: <?php // Enumerate the directories in styles $styles_dir = 'styles/'; if($handle = opendir($styles_dir)) { while(FALSE !== ($file = readdir($handle))) { echo $file . '(' . is_dir($file) . ')<br>'; } } ?>

以下是我的PHP代码:

<?php

// Enumerate the directories in styles
$styles_dir = 'styles/';

if($handle = opendir($styles_dir))
{
    while(FALSE !== ($file = readdir($handle)))
    {
        echo $file . '(' . is_dir($file) . ')<br>';
    }
}
?>

为什么
forest
industrial
目录不存在?

路径是\u dir
与基文件相关,因此您确实需要执行如下测试

is_dir($styles_dir . '/' . $file)

请注意,这对于
“目录”是屏蔽的。
“目录”无处不在。

您需要在文件名前面加上目录名前缀,因为
是相对于当前目录工作的

改变

echo $file . '(' . is_dir($file) . ')<br>';
echo$文件(“.is_dir($file)。”)

echo$文件(“.is_dir($styles_dir/$file”))
”;

或者,您可以使用将目录更改为
$styles\u dir
,然后您当前的代码将正常工作。

这可能是权限问题吗?这个脚本能和这两个都匹配吗?我不知道。我查一下。它应该能够…是的。它可以成功地
chdir
forest
industrial
目录。
echo $file . '(' . is_dir($file) . ')<br>';
echo $file . '(' . is_dir("$styles_dir/$file") . ')<br>';