自定义一个函数,输入路径后,可以遍历出文件夹下的所有文件和文件夹
<?php
function GetAllFiles($dir){
if (is_dir($dir)){//如果是文件夹,遍历文件
echo "<ul>";
$arr = scandir($dir);
foreach ($arr as $v){
if ($v != '.' && $v != '..'){
if (is_dir($dir."\\".$v)){
echo "目录:".$dir."\\".$v."<br/>";
GetAllFiles($dir."\\".$v);
}else{
echo "<li>文件:".$dir."\\".$v."</li>";
}
}
}
}else{
echo "文件:".$dir."<br/>";
}
echo "</ul>";
}
GetAllFiles("C:\\www");
?>
其中,在编写的时候有以下两点要特别注意:
1、scandir后的数组中会有. 和 ..,即点,和点点。这个需要区分开来,不是我们想要的东西
2、在进行递归遍历下一个目录时,需要输入函数的形参是完整的目录路径。要记得使用“\\”进行连接
在编写的时候,主要就是卡在了上面的两个地方。这种写法还是参考了php100中的同学的回答来写的,其中<ul>与<li>的用法真是太好了!