RecursiveDirectoryIterator() 不显示空目录

Posted

技术标签:

【中文标题】RecursiveDirectoryIterator() 不显示空目录【英文标题】:RecursiveDirectoryIterator() not showing empty directories 【发布时间】:2011-08-22 14:59:37 【问题描述】:

我正在尝试使用 php 的 RecursiveDirectoryIterator 列出一组目录。我遇到的问题是它似乎正在跳过它遇到的任何空目录。任何想法如何使它列出空目录?

这是我正在使用的代码片段:

 $iterator =  new RecursiveIteratorIterator(
                        new RecursiveDirectoryIterator($root));
 $result = array();

 $prefix_length = strlen($root) + 1;
 foreach($iterator as $file)
       
   if($file->isDir())
   

      $result[] = dirname(substr($file->__toString(), $prefix_length));
   
 

【问题讨论】:

【参考方案1】:

试试:

$iterator =  new RecursiveIteratorIterator(
  new RecursiveDirectoryIterator($root), RecursiveIteratorIterator::SELF_FIRST
);

【讨论】:

谢谢! :) 你能解释一下为什么~RecursiveIteratorIterator::LEAVES_ONLY 不起作用吗?不工作意味着它只会列出第一级的文件夹。

以上是关于RecursiveDirectoryIterator() 不显示空目录的主要内容,如果未能解决你的问题,请参考以下文章