【发布时间】:2015-10-10 14:30:05
【问题描述】:
我正在尝试使用 RecursiveDirectoryIterator、RecursiveIteratorIterator 和 RegexIterator 获取完整的文件结构,并使用以下代码获取系统中的所有 .php 文件:
$directory = new RecursiveDirectoryIterator(realpath("/"));
$iterator = new RecursiveIteratorIterator($directory);
$regex = new RegexIterator($iterator, '/^.+\.php$/i', RecursiveRegexIterator::GET_MATCH);
但是当我 var_dump $regex 时,我得到了这个:
对象(RegexIterator)[4431]
公共'替换'=> null
我在这里做错了什么?把我难住了……
注意
我的代码来自:here
【问题讨论】:
-
@unixarmy,我不会说这是重复的,因为该问题的 OP 出现运行时错误,而我没有,我正在通过,而不是信息跨度>
-
是的,$regex 是一个“迭代器”;您需要对其进行迭代(例如使用
foreach($regex as $file))以获取各个值 -
@MarkBaker,我做到了,而且效果很好,这是我犯的愚蠢错误,您介意将其作为答案,以便我尽快标记为正确吗?
标签: php recursion iterator filesystems