Получить список/массив подкаталогов и файлов PHP

function get_subdir_files($main_dir) {
  $l = strlen($main_dir);
  if($l == 0) return false;
  if($l > 1 && $main_dir[$l-1] == '/') $main_dir = substr($main_dir, 0, l-1);
  $result = array();
  $dirs = scandir($main_dir);
  foreach($dirs as $dir) {
    if ($dir === '.' || $dir === '..')
      continue;
    if(is_dir($main_dir.'/'.$dir)) {
      $files = get_subdir_files($main_dir.'/'.$dir);
      foreach($files as $file)
        $result[] = $dir.'/'.$file;
    } else {
      $result[]=$dir;
    }
  }
  return $result;
}