您的位置:首页 > 编程语言 > PHP开发

递归获取目录、子目录下的所有文件

2017-09-14 15:51 405 查看
/**
* 递归遍历文件目录/文件
* @param  string $dir       文件的路径
* @return array  $result    返回文件路径数组
*
* DIRECTORY_SEPARATOR
* 目录分隔符,是定义php的内置常量。在调试机器上,在windows我们习惯性的使用“\”作为文件分隔符,但是在linux上系统不认识这个标识,于是就要引入这个php内置常量了:DIRECTORY_SEPARATOR
*/
function read_dir($dir){
$result=[];
$info=opendir($dir);
if($info && is_dir($dir)){
//获得目录资源 循环判断是否有文件
while (($data=readdir($info)) !== false) {
if($data != "." && $data != ".."){
$url=$dir.'\\'.$data;
//判断是否是目录
if(is_dir($url)){
$result['dir'][$url]=read_dir($url);
}else{
$result['file'][]=$url;
}
}
}
closedir($info);
}else{
//抛出异常
return $info;
}
return $result;
}
$dir='F:\BaiduNetdiskDownload'; //路径
echo '<pre>';
print_r(read_dir($dir));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息