/**
* 递归遍历文件目录/文件
* @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));