去百度面试的时候,面试官问了我一个问题,就是不用递归,如何获取某个目录下的所有文件。当时知道、、想到是通过循环来获取,但是代码没有写出来。现在我在家写了一份,这里共享下。
header("Content-Type: text/html; charset=gb2312");
$url = "D:\\root\\layui";
$arr = scandir($url);
$arrList = [];
foreach($arr as $k => $v){
if($v != '.' and $v != '..'){
$arrList[] = $url.'\\'.$v;
}
}
while(1){
if(!count($arrList)){
break;
}
$arrDir = $arrList;
foreach($arrDir as $key => $value){
unset($arrList[$key]);
if(!is_dir($value)){
echo $value;
continue;
}
$arrInnerDir = scandir($value);
foreach($arrInnerDir as $kk => $vv){
if($vv == '.' || $vv == '..'){
continue;
}
$arrList[] = $value.'\\'.$vv;
}
}
}
以上,windows环境下,修改目录就可以直接运行。