<?php
function directory_listing($directory_name)
{
if ($handle = opendir($directory_name))
{
while (false !== ($entry = readdir($handle)))
{
if ($entry != "." && $entry != "..")
{
if(is_dir($entry))
{
**//program is avoiding this block
echo $entry.'--<br/>';**
}
else
{
echo $entry.'<br/>';
}
}
}
closedir($handle);
}
}
directory_listing('go');
?>
我想要一个包含上述代码的目录列表。但该程序正在避免提到 if block 。
由于
Foysal
答案 0 :(得分:5)
列出目录,您可以使用DirectoryIterator
$iterator = new DirectoryIterator('pathtoyourdir/');
foreach ($iterator as $fileinfo) {
if ($fileinfo->isDir()) {
echo $fileinfo->getFilename() . "\n";
}
}
答案 1 :(得分:1)
改为完整的相对路径:
if(is_dir("$directory_name/$entry"))
因为$entry
不在当前工作目录中,而是在您正在阅读的目录中。
答案 2 :(得分:1)
$entry
不是文件/目录的完整路径。请改用$directory_name.'/'.$entry
。
答案 3 :(得分:0)
或者您可以查看http://php.net/glob
foreach (glob('dir/*') as $file) {
if (is_dir($file)) {
echo $entry . '--<br />';
}
else {
echo $entry . '<br />';
}
}