您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

一个遍历文件目录的function,有两个问题请指教?

2025/4/13 15:13:14发布24次查看
问题一、static $file_list 的static是为递归叠加使用,如何避免外面两次以上调用,后边的结果里叠加前边调用的结果?
问题二、形参$ext_name是否分成两个参数($mode=true,$ext_name='')比较合理? //遍历文件(文件列表)static function scan($dir,$ext_name=true){$dir_tree=array();static $file_list=null;static $the_file_list=null;foreach (scandir($dir) as $file) {$file_location=trim($dir,'/').'/'.$file;if (is_dir($file_location) && $file!=. && $file!=..) {array_push($dir_tree,self::scan($file_location,$ext_name));} else {if (($file!='.' && $file!='..') || !is_dir($file)) {if ($ext_name===true) {$file_list[]=$file_location;}if ($ext_name && $ext_name==trim(strrchr($file,'.'))) {$the_file_list[]=$file_location;}$tmp=explode('/',$dir);array_push($dir_tree,''.end($tmp).' '.$file);}}}$result=($ext_name===true) ? $file_list : $the_file_list;return $ext_name ? $result : $dir_tree;}
复制代码
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product