递归迭代器迭代器不忽略 .svn


RecursiveIteratorIterator not ignoring .svn

我有以下PHP代码,它以递归方式循环遍历文件,并且应该忽略任何以点为前缀的内容。

$objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory, RecursiveDirectoryIterator::SKIP_DOTS));
foreach($objects as $name => $object) 
{
    var_dump($object);exit;
[...]

但是,它并没有忽略.svn文件夹。转储的输出为:

object(SplFileInfo)#8 (2) { ["pathName":"SplFileInfo":private]=> string(42) "C:'import'Drinks'.svn'dir-prop-base" ["fileName":"SplFileInfo":private]=> string(13) "dir-prop-base" }

这是因为RecursiveDirectoryIterator::SKIP_DOTS不应该忽略隐藏文件:

文件系统迭代器::SKIP_DOTS

跳过点文件(...)。

它只忽略文档中提到的特殊目录名称。