protected function getFilesRecursive($dir, array &$result, $ext)
{
$extensionLength = strlen($ext) + 1;
// one is for the dot!
$files = scandir($dir);
foreach ($files as $file) {
if ($file === '.' || $file === '..') {
continue;
}
if (is_dir($newDir = $dir . DIRECTORY_SEPARATOR . $file)) {
$this->getFilesRecursive($newDir, $result, $ext);
continue;
}
if (substr($file, -$extensionLength) !== '.' . $ext) {
continue;
}
$result[] = $dir . DIRECTORY_SEPARATOR . $file;
}
return $result;
}