2016-03-08 154 views
0

我有以下PHP代碼循環遍歷文件,應該忽略任何以點爲前綴的內容。RecursiveIteratorIterator不會忽略.svn

$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" } 

回答

2

這是因爲RecursiveDirectoryIterator::SKIP_DOTS不應該忽略隱藏文件:

FilesystemIterator :: SKIP_DOTS

跳過點文件(...)。

它只忽略文檔中提到的特殊目錄名稱。