/** * 获取某目录下所有文件 (递归次数限制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); } } } }