How to get RecursiveDirectoryIterator to exclude hidden folders
I have a recursiveDirectoryIterator like this:
$theme_iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($theme_folder_path)
);
foreach ($theme_iterator as $file_object) {
// Stuff
}
The problem is that she's iterating into hidden .svn folders. How can I prevent this?
Edit:
I can't just add something like this to the foreach, because the files from the hidden folder are already in the array at this point, and they are not all hidden.
if (strpos($file_object, ".") ===0) {
continue;
}
+3
source to share
3 answers
<?php
class RecursiveDotFilterIterator extends RecursiveFilterIterator
{
public function accept()
{
return '.' !== substr($this->current()->getFilename(), 0, 1);
}
}
$iterator = new RecursiveIteratorIterator(
new RecursiveDotFilterIterator(
new RecursiveDirectoryIterator('.')
)
);
foreach ($iterator as $x) {
//do stuff
}
+4
source to share