我有一个名为client_images
的目录,其dir_1
,dir_2
和dir_3
作为子目录。当我运行以下内容时:
foreach(scandir("client_images") as $key => $value ){
if(is_dir($value)){
echo $value." is a dir.<br>";
}
else{
echo $value." is not a dir.<br>";
}
}
我得到:
. is a dir. .. is a dir. dir_1 is not a dir. dir_2 is not a dir. dir_3 is not a dir.
为什么php为目录返回false?
答案 0 :(得分:2)
你在做scandir("client_images")
;结果是没有 client_images/
路径的裸文件名,所以它在当前目录中查找它们。当然,.
之间可能存在的唯一目录。 client_images/
是.
和..
,所有目录中都有条目。
答案 1 :(得分:0)
您可以使用DirectoryIterators扫描目录。使用以下代码检查文件是否是目录
$iterator = new DirectoryIterator('path');
foreach ($iterator as $fileinfo) {
if ($fileinfo->isDir()) {
echo $fileinfo->getFilename() . "\n";
}
}
答案 2 :(得分:0)
$mydir = "client_images/";
foreach(scandir($mydir) as $key => $value ){
if(is_dir($mydir . $value)){
echo $value." is a dir.<br>";
}
else{
echo $value." is not a dir.<br>";
}
}