ファイルディレクトリを横断する関数 2つ質問がありますので、アドバイスをお願いします。
リリース: 2016-07-25 08:49:49
質問 1: static $file_list の static は再帰的な重ね合わせに使用され、前の呼び出しの結果が後続の結果に重ね合わされることを回避するにはどうすればよいですか? 質問 2: 仮パラメータ $ext_name を 2 つのパラメータ ($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,'< Strong>'.end($tmp).' '.$file);
- }
-
- }
-
- }
-
- $result=($ext_name===true) ?
- return $ext_name ? $result : $dir_tree;
- }
コードをコピー
|
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
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