本文主要是介绍PHP递归获取目录内容readDir,递归删除rmdir,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
<pre name="code" class="php"><?php
/*** @param $path 需要读取的目录内容*/
function readDirs($path, $deep=0) {//打开,读取$handle = openDir($path);//循环获得文件while(false !== $file = readDir($handle)) {//是不是伪目录 ., ..,是的话不处理if ($file == '.' || $file == '..') continue;echo str_repeat(' ', $deep*4), $file,'<br>';//判断该文件是否为目录if(is_dir($path . '/' . $file)) {//是目录,递归的获取readDirs($path . '/' . $file, $deep+1);}}closeDir($handle);
}
将获取的目录保存起来,以便之后使用代码如下
/*** @param $path 需要读取的目录内容** @return array 很多维数组*/
function readDirs($path, $deep=0) {$children = array();//打开,读取$handle = openDir($path);//循环获得文件while(false !== $file = readDir($handle)) {//是不是伪目录 ., ..,是的话不处理if ($file == '.' || $file == '..') continue;//记录当前文件信息的数组$file_info['name']=$file;//文件名//判断该文件是否为目录if(is_dir($path . '/' . $file)) {//是目录,递归的获取$file_info['type'] = 'dir';$file_info['children'] = readDirs($path . '/' . $file, $deep+1);} else {$file_info['type'] = 'file';}$children[] = $file_info;}closeDir($handle);return $children;
}
/*** @param $path 删除需要目录*/
function rmDirs($path) {//打开,读取$handle = openDir($path);//循环获得文件while(false !== $file = readDir($handle)) {//是不是伪目录 ., ..,是的话不处理if ($file == '.' || $file == '..') continue;//判断该文件是否为目录if(is_dir($path . '/' . $file)) {//是目录,递归的获取rmDirs($path . '/' . $file);} else {//文件unlink($path . '/' . $file);//unlink删除文件}}closeDir($handle);return rmdir($path);
}
这篇关于PHP递归获取目录内容readDir,递归删除rmdir的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!