我正在尝试使用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]
公共'替换' =>空
我在这里做错了什么?我难倒......
注意
我从以下代码获得了此代码:here
答案 0 :(得分:1)
$regex
是一个"迭代器",你需要迭代它(例如使用foreach($ regex as $ file)来获取各个值。
您需要迭代/遍历该对象 - 就像您在数据库结果集上迭代一样 - 获取单个值:
foreach($regex as $file) {
var_dump($file);
}
请注意,$file
在这种情况下是一个数组,其中一个字符串值(完整文件路径)作为唯一条目