protected static function scanDirectory($path, array $ignoreFolders = array(), array $ignoreFiles = array())
{
$return = array();
$handle = @opendir($path);
if (!$handle) {
return $return;
}
while (($file = readdir($handle)) !== false) {
if ($file == '.' || $file == '..') {
continue;
}
$fullpath = $path . '/' . $file;
if (is_dir($fullpath) && in_array($file, $ignoreFolders) || is_file($fullpath) && in_array($file, $ignoreFiles)) {
continue;
}
if (is_dir($fullpath)) {
$return = array_merge(self::scanDirectory($fullpath, $ignoreFolders, $ignoreFiles), $return);
} else {
$return[] = $path . '/' . $file;
}
}
return $return;
}