我有以下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" }
答案 0 :(得分:2)
那是因为RecursiveDirectoryIterator::SKIP_DOTS不应该忽略隐藏文件:
FilesystemIterator :: SKIP_DOTS
跳过点文件(
.
和..
)。
它只会忽略文档中提到的特殊目录名称。