递归遍历目录
22 September 2013
###方法一
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<meta charset="utf-8">
<?php
function showDir($dir)
{
$r = array();
foreach (scandir($dir) as $key => $value) {// scandir()列出指定路径中的文件和目录
if ($value === '.' || $value === '..' ) {
continue;
}
if (is_dir($dir.'/'.$value)) {
$r[$dir.'/'.$value] = showDir($dir.'/'.$value);
}
}
return $r;
}
var_dump(showDir('.'));
?>
###方法二
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<meta charset="utf-8">
<?php
function showDir($dir)
{
$r = array();
$handledir = opendir($dir) ;
while (false !== ($dirName = readdir($handledir))) {//readdir()返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回。
if ($dirName==='.' || $dirName=='..') {
continue;
}
if (is_dir($dir.'/'.$dirName)) {
$r[$dir.'/'.$dirName] = showDir($dir.'/'.$dirName);
}
}
return $r;
}
var_dump(showDir('.'));
?>