1.要点
(1)递归(2)几个函数:is_dir()、opendir()、readdir()、closedir()
2.程序举例
<?php
header("Content-type:text/html;charset=utf-8");
function my_scandir($dir){
$files=array();
if (is_dir($dir)) {
if ($handle=opendir($dir)) {
while (false!=($file=readdir($handle))) {
if ($file!='.' && $file!='..') {
if (is_dir($dir.'/'.$file)) {
$files[$file]=my_scandir($dir.'/'.$file);
}else{
$files[]=$dir.'/'.$file;
}
}
}
closedir($handle);
return $files;
}
}
}
//示例
$dir='G:\myenv\myweb\blog';
echo "<pre>";
print_r(my_scandir($dir));
echo "</pre>";
?>
输出结果
Array
(
[.phpintel] => Array
(
[0] => G:\myenv\myweb\blog/.phpintel/0955938697ff3f8ba2e7e99ad7d1a15f
[1] => G:\myenv\myweb\blog/.phpintel/2db17ac1fe7e91a24b81522ce47bc0f3
[2] => G:\myenv\myweb\blog/.phpintel/41ef0d7347d9771a82ff4f9ce3918f2c
[3] => G:\myenv\myweb\blog/.phpintel/4e8c5b9ab38f7c7cd83bf9f839940714
[4] => G:\myenv\myweb\blog/.phpintel/5af280c5d1540e3ebccd0f57875d45b4
[5] => G:\myenv\myweb\blog/.phpintel/621882ef54ef7a3bfc19b4e61e90e6f7
[6] => G:\myenv\myweb\blog/.phpintel/cff0d4807d663f1cb70b0ebb6d8dcea7
[7] => G:\myenv\myweb\blog/.phpintel/index
)
[0] => G:\myenv\myweb\blog/comment.php
[css] => Array
(
[0] => G:\myenv\myweb\blog/css/index.css
)
[1] => G:\myenv\myweb\blog/db.php
[images] => Array
(
[0] => G:\myenv\myweb\blog/images/1.jpg
)
[2] => G:\myenv\myweb\blog/index.php
[3] => G:\myenv\myweb\blog/login.php
[4] => G:\myenv\myweb\blog/magicClass.php
[5] => G:\myenv\myweb\blog/result.php
)