1

我喜欢在带有子目录的目录中获取所有 .less 文件。我在php.net找到了这个好看的代码。

难道我做错了什么?有什么改变吗?例子错了吗?看起来第一个找到了 .less.bak 文件。

$Directory = new RecursiveDirectoryIterator( CHILD_DIR . '/less' );
$Iterator = new RecursiveIteratorIterator( $Directory );
$Regex = new RegexIterator($Iterator, '/^.+\.less$/i', RecursiveRegexIterator::GET_MATCH);

print_r( $Directory  );
print_r( $Iterator  );
print_r( $Regex  );

输出如下:

RecursiveDirectoryIterator Object
(
    [pathName:SplFileInfo:private] => /var/www/secret/wayne/wp-content/themes/bootgen_child/less/bootgen_layout.less.bak
    [fileName:SplFileInfo:private] => bootgen_layout.less.bak
    [glob:DirectoryIterator:private] => 
    [subPathName:RecursiveDirectoryIterator:private] => 
)
RecursiveIteratorIterator Object
(
)
RegexIterator Object
(
    [replacement] => 
)
4

1 回答 1

0

评论并没有在这句话中说出全部真相

$Regex 将为每个 PHP 文件包含一个索引数组。

你实际上需要迭代$Regex,因为转储不会给你一个通常的数组

foreach($Regex as $file) {
  var_dump($file);
}
于 2012-05-03T09:30:50.697 回答