Implement filter

This commit is contained in:
Dennis Eichhorn 2018-04-13 22:10:40 +02:00
parent 184e407201
commit 916497f329

View File

@ -81,12 +81,17 @@ class Directory extends FileAbstract implements DirectoryInterface
throw new PathException($path);
}
$list = [];
$path = rtrim($path, '\\/');
foreach ($iterator = new \RecursiveIteratorIterator(
$list = [];
$path = rtrim($path, '\\/');
$iterator = new \RecursiveIteratorIterator(
new \RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS),
\RecursiveIteratorIterator::SELF_FIRST) as $item
\RecursiveIteratorIterator::SELF_FIRST);
if ($filter !== '*') {
return \RegexIterator($iterator, '/' . $filter . '/i', \RecursiveRegexIterator::GET_MATCH);
}
foreach ($iterator as $item
) {
$list[] = str_replace('\\', '/', $iterator->getSubPathname());
}