Ho un iteratore di directory ricorsivo per selezionare i file da una directory. SKIP_DOTS mi consente di ignorare il '.' e '..' elementi, ma mi piacerebbe essere in grado di ignorare anche directory '__MACOSX' e un altro altri file nascosti come '.cache.php'PHP Recursive Directory Iterator - ignora determinati file.
$iterator = new RecursiveDirectoryIterator($directory);
$iterator->setFlags(RecursiveDirectoryIterator::SKIP_DOTS);
$all_files = new RecursiveIteratorIterator($iterator);
Non ci sono altre risposte here e here ma mi chiedevo solo se ci fosse un modo più pulito?
Speravo che ci fosse qualcosa nello PHP Manual - FilesystemIterator SetFlags ma non sembra.
Perché speravate di qualcosa di built-in? È irragionevole aspettarsi che qualcuno scriva alcune righe di codice quando hanno requisiti speciali? Nei sistemi Windows si vedono spesso file speciali 'desktop.ini' e' Thumbs.db', dovrebbe esserci un flag speciale anche per quelli? – Jon
Potrebbe essere utile: http://stackoverflow.com/questions/12454114/exclude-folders-from-recursion-in-recursive-directory-iterator-php –
@Jon Vedo il punto, ma perché includere "RecursiveDirectoryIterator :: SKIP_DOTS 'se non per aiutare casi d'uso comuni? – Kiksy