private function readRecursiveDir($dirname, $excludeFiles = array(), $excludeDirs = array())
{
$dir = opendir($dirname);
$r = array();
while (false !== ($file = readdir($dir))) {
if ($file[0] == '.') {
continue;
}
foreach ($excludeFiles as $part) {
if (strpos($file, $part) !== false) {
continue 2;
}
}
if (is_dir($dirname . '/' . $file) && !in_array($dirname . '/' . $file, $excludeDirs)) {
$r = $this->readRecursiveDir($dirname . '/' . $file, $excludeFiles, $excludeDirs);
} else {
if (substr($file, -4) !== '.php') {
continue;
}
$r[] = array($dirname . '/' . $file);
}
}
$return = call_user_func_array('array_merge', $r);
return $return;
}