1. /**
    2. * 获取当前目录及子目录下的所有文件
    3. * @param string $dir 路径名
    4. * @return array 所有文件的路径数组
    5. */
    6. function get_files($dir) {
    7. $files = array();
    8. if(!is_dir($dir)) {
    9. return $files;
    10. }
    11. $handle = opendir($dir);
    12. if($handle) {
    13. while(false !== ($file = readdir($handle))) {
    14. if ($file != '.' && $file != '..') {
    15. $filename = $dir . "/" . $file;
    16. if(is_file($filename)) {
    17. $files[] = $filename;
    18. }else {
    19. $files = array_merge($files, get_files($filename));
    20. }
    21. }
    22. } // end while
    23. closedir($handle);
    24. }
    25. return $files;
    26. } // end function