PHP - 仅在特定深度显示文件夹和子文件夹

时间:2016-05-24 23:17:05

标签: php directory

我正在填充目录列表(目录是动态创建的)

        $dir = new RecursiveDirectoryIterator('./../data',
            FilesystemIterator::SKIP_DOTS);


        $it  = new RecursiveIteratorIterator($dir,
            RecursiveIteratorIterator::SELF_FIRST);

        $it->setMaxDepth(1);


        foreach ($it as $fileinfo) {
            if ($fileinfo->isDir()) {
                printf("Folder - %s\n", $fileinfo->getFilename());
                $display2 = sprintf('<option id="optionPHP" class="optionPHP" data-icon="glyphicon-time" value="%s">%s</option>' . PHP_EOL, $fileinfo->getFilename(), $fileinfo->getFilename());
                echo $display2;
            }
        }

显示'data'文件夹中的所有文件夹。问题是我只想在深度显示目录../ data / Vetri / vetriselvi1

folder path

基本上我想只填充该级别的文件夹..如vetriselvi1,vetriselvi2 ..等。 我该怎么做?

1 个答案:

答案 0 :(得分:0)

所以我做了一个圆满的事情来实现我想要的目标:

foreach ($it as $fileinfo) {
                if ($fileinfo->isDir()) {
                    if (preg_match("/_/",$fileinfo->getFilename()) ||  preg_match("/--Select Option--/",$fileinfo->getFilename())) {
                    $display2 = sprintf('<option id="optionPHP" class="optionPHP" data-icon="glyphicon-time" value="%s">%s</option>' . PHP_EOL, $fileinfo->getFilename(), $fileinfo->getFilename());
                    echo $display2;
                    }
                } 

我尝试将动态创建的文件夹与字符连接(例如此处为“_”),然后进行正则表达式匹配。