1. /**
    2. * 列出目录下所有文件
    3. *
    4. * @param string $path 路径
    5. * @param string $exts 扩展名
    6. * @param array $list 增加的文件列表
    7. * @return array 所有满足条件的文件
    8. */
    9. function dir_path($path) {
    10. $path = str_replace('\\', '/', $path);
    11. if (substr($path, -1) != '/') $path = $path . '/';
    12. return $path;
    13. }
    14. /**
    15. * 列出目录下的所有文件
    16. *
    17. * @param str $path 目录
    18. * @param str $exts 后缀
    19. * @param array $list 路径数组
    20. * @return array 返回路径数组
    21. */
    22. function dir_list($path, $exts = '', $list = array()) {
    23. $path = self::dir_path($path);
    24. $files = glob($path . '*');
    25. foreach($files as $v) {
    26. if (!$exts || preg_match("/\.($exts)/i", $v)) {
    27. $list[] = $v;
    28. if (is_dir($v)) {
    29. $list = self::dir_list($v, $exts, $list);
    30. }
    31. }
    32. }
    33. return $list;
    34. }