当前位置: 首页 > 面试题库 >

如何使用SPL检索完整目录树?

花玄裳
2023-03-14
问题内容

如何使用SPL(可能使用RecursiveDirectoryIterator和)检索完整目录树RecursiveIteratorIterator


问题答案:

默认情况下,RecursiveIteratorIteratorLEAVES_ONLY用于的第二个参数__construct。这意味着它将仅返回文件。如果要包括文件
目录(至少这是我认为的 完整 目录树),则必须执行以下操作:

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

然后您就可以foreach结束它。如果要返回目录树而不是输出它,则可以将其存储在数组中,例如

foreach ($iterator as $fileObject) {
    $files[] = $fileObject;
    // or if you only want the filenames
    $files[] = $fileObject->getPathname();
}

您还可以通过执行以下操作来创建$fileObjects没有的数组foreach

$files[] = iterator_to_array($iterator);

如果只想返回目录,foreach$iterator可以这样:

foreach ($iterator as $fileObject) {
    if ($fileObject->isDir()) {
        $files[] = $fileObject;
    }
}


 类似资料:
  • 我得到了一个用户电阻详细资料在我的个人资料页,但如何得到所有用户注册详细资料在我的html个人资料页? 这是我从mongodb数据库获取单用户注册详细信息的代码 app.get(/配置文件,函数(req, res){ });

  • 我一直在试图找到通过外键从记录中获取所有数据的正确方法。我有一个简单的应用程序,用户可以将书籍添加到他们的“书架”。 这是我的桌子: 使用者 书 书架 BOOKSHELF_BOOKS 在我雄辩的模型中,一个有许多书,而属于,我已经在我的模型中设置了这些书。 用户创建一个“书架”并从图书列表中向其中添加图书。 我现在需要在书架上渲染用户的书籍。 当我使用类似bookshelf::find($id)的

  • 问题内容: 我正在尝试使用来下载项目的文件,因为该项目的SVN服务器不再运行,并且只能通过浏览器访问文件。所有文件的基本URL都一样 http://abc.tamu.edu/projects/tzivi/repository/revisions/2/raw/tzivi/ * 如何使用(或任何其他类似工具)下载此存储库中的所有文件,其中“ tzivi”文件夹是根文件夹,并且在其下有几个文件和子文件夹

  • 我在试着写一个函数 匿名的名字。下面是一些输入和输出对的示例,让您了解它应该做什么: 该函数应该适用于由任意字符组成的名称。在实现此功能时,我有以下问题: 给定一个或,我如何计算出我必须使用多少个符文才能获得一个完整的字符,完整的意思是与该字符对应的所有修饰符和组合重音也被使用。例如,如果输入是(对应于字符串BC,其中δ表示为A和组合diaresis的组合),该函数应该返回2,因为前两个符文会产生

  • 本文向大家介绍如何使用Python检查目录的权限?,包括了如何使用Python检查目录的权限?的使用技巧和注意事项,需要的朋友参考一下 您可以使用os.access(path,mode)来检查目录权限以及读取,写入和执行权限的模式。为了能够写,您还需要检查执行权限。例如, 您还可以遵循一个通用的Python习惯用法:寻求宽容比获得许可要容易。按照该习惯用法,您应该尝试写入有问题的目录,如果没有权限

  • 新的2.0版本有一个分页,限制一个请求的朋友数量,这不允许我一次检索所有朋友,尽管有一个参数调用“limit”,它只能通过循环“偏移量”直到最后来完成。问题是每个用户都有不同数量的朋友! 我已经四处寻找了几个小时,但仍然没有解决方案。