获取某目录下所有文件

时间:2022-02-05 11:28:41
/**
 * 获取某目录下所有文件 (递归次数限制10次, 以免产生性能瓶颈)
 * 
 * @param    string    目录
 * @param    array    获取的所有文件
 * @return    void    结果直接传递给第二个参数
 * @author     宁佳兵 <meilijing.ning@foxmail.com>
 */
function get_files($dir, &$file_array = array()) {
    if ( ! isset($GLOBALS['get_files_count'])) {
        $GLOBALS['get_files_count'] = 0;
    }
    $GLOBALS['get_files_count']++;
    if ( is_dir($dir)) {
        $files = glob($dir . '*', GLOB_MARK);
        foreach ($files as $file) {
            if ( is_file($file)) {
                $file_array []= $file;
            } else if( is_dir($file) && $GLOBALS['get_files_count'] < 10) {
                get_files($file, $file_array);
            }
        }
    }
}