使用PHP的目录列表

时间:2013-05-21 10:27:29

标签: php

<?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

4 个答案:

答案 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 />';
    }
}