PHP遍历目录并保存

来源:互联网 发布:msdia80.dll是什么知乎 编辑:程序博客网 时间:2024/05/16 04:58

递归方式:

function getfiles($path,$arr = array()){    foreach(scandir($path) as $afile){                                   if($afile=='.'||$afile=='..') continue;         if(is_dir($path.'/'.$afile)) {                                   $tmp = getfiles($path.'/'.$afile,$arr);            $arr += $tmp;        } else {            $key = substr($afile,strlen('hotdict_json_old_'),6);            if(empty($arr[$key])){                $arr[$key][] = $afile;            }else{                  array_push($arr,$afile);            }        }    }           return $arr;} 

循环方式:

function scanfiles($dir) {    if (! is_dir ( $dir ))        return array();    $dir = rtrim(str_replace('\\','/',$dir),'/').'/';    $dirs = array($dir);    $rt = array();    do {        $dir = array_pop($dirs);        $tmp = scandir($dir);        foreach ( $tmp as $f ) {            if ($f == '.' || $f == '..')                continue;            $path = $dir.$f;            if (is_dir($path)){                array_push($dirs,$path.'/');                $rt[$f] = array();            }else if(is_file($path)){                 if(!strstr($f,'alpha')){                    if(strstr($f,'all')){                        $key = substr($f,strlen('hotdict_all_json_old_'),6);                    }else{                        $key = substr($f,strlen('hotdict_json_old_'),6);                    }                    array_push($rt[$key],$f);                }            }        }    } while($dirs);     return $rt;}

以上代码有些逻辑是为了解决实际问题,请忽略,看懂代码即可!

0 0
原创粉丝点击