PHP遍历文件夹
封装一个遍历文件夹函数
用于对指定路径的文件夹进行遍历,获取文件夹中的文件路径数组。
代码实现
<?php
echo "<pre>";
print_r(traverseDir('./ErrorFiles'));
function traverseDir($dirPath=false,$type='all'){
if(!$dirPath||!is_dir($dirPath)){
return false;
}
$files = array();
if(@
$handle = opendir($dirPath)){
while(($file=readdir($handle))!==false){
if($file != '..' && $file != '.'){
if($type == 'file'){
if(is_dir($dirPath.DIRECTORY_SEPARATOR.$file)){
$files[$file] = traverseDir($dirPath.DIRECTORY_SEPARATOR.$file,'file');
foreach($files[$file] as $k => $v){
if(is_file($v)){
$files[] = $v;
unset($files[$file][$k]);
}
}
unset($files[$file]);
}else{
$files[] = $dirPath.DIRECTORY_SEPARATOR.$file;
}
}else{
if(is_dir($dirPath.DIRECTORY_SEPARATOR.$file)){
$files[$file] = traverseDir($dirPath.DIRECTORY_SEPARATOR.$file);
}else{
$files[] = $dirPath.DIRECTORY_SEPARATOR.$file;
}
}
}
}
closedir($handle);
}
return $files;
}
文件结构
读取结果
默认读取为多维数组 traverseDir('./ErrorFiles'); 一维数组读取结果 traverseDir('./ErrorFiles','file');