一个遍历文件目录的function,有两个问题请指教?
Libérer: 2016-07-25 08:49:49
original
1040 Les gens l'ont consulté
问题一、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;
- }
复制代码
|
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31