指定したディレクトリ以下のファイルを取得(サブフォルダ内も)

本当は配列でフォルダ構造を持たせたかったんですが、
現在はファイルパスまるごと取得するようになってます。

<?php
function getFileList($dir)
{
    $result = array();
    if (is_dir($dir)) {
        if ($dh = opendir($dir)) {
            while (($file = readdir($dh)) !== false) {
                if(is_dir($dir . $file) && $file != '.' && $file != '..'){
                    if ($dh2 = opendir($dir.$file)) {
                        while (($file2 = readdir($dh2)) !== false) {
                            if(is_dir($dir.$file."/".$file2) && $file2 != '.' && $file2 != '..' && $file2 != '.metadata'){
                                $result = array_merge($result,  getFileList($dir.$file."/".$file2."/"));
                            }else if($file2 != '.' && $file2 != '..' && $file2 != '.metadata'){
                                $result[] = $dir.$file."/".$file2;
                            }
                        }
                    }
                }else if($file != '.' && $file != '..'){
                    $result[] = $dir.$file;
                }
            }
        }
    }
    return $result;
}