PHP显示目录文件夹

时间:2012-09-16 23:00:42

标签: php

我试图显示特定目录中的所有文件夹。基本上所以每次添加新文件夹时,它都会自动显示在列表中。这是我到目前为止所拥有的。我已将其与其他帖子拼凑在一起,似乎没有起作用,也不确定原因。我得到了一个关于权限的讨厌错误,没有找到。

        $dir = '/s/';
        $result = array();

        if (is_dir($dir)) {
                $iterator = new RecursiveDirectoryIterator($dir);
                foreach (new RecursiveIteratorIterator($iterator, RecursiveIteratorIterator::CHILD_FIRST) as $file) {                    
                    if (!$file->isFile()) {
                        $result[] = 'path: ' . $file->getPath(). ',  filename: ' . $file->getFilename();
                    }
                }

        }

        print_r($result);

1 个答案:

答案 0 :(得分:0)

您可以使用该自制代码:

function collect_files($dir)
{
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        $dir = $dir.'/';
        while (($file = readdir($dh)) !== false) {
        if(filetype($dir . $file)=='file'){
            $path = strchr($dir,'/');            
            echo "$file - $path<br>\n";
            }
        }
        rewinddir($dh);
        while (($file = readdir($dh)) !== false) {
        if(filetype($dir . $file)=='dir')
            if($file!='.'&&$file!='..'){
            collect_files($dir.$file);
            }
        }
        closedir($dh);
    }
}
}
collect_files('.');