交作业 php100 第七讲 遍历目录下所有文件、文件夹

自定义一个函数,输入路径后,可以遍历出文件夹下的所有文件和文件夹


<?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>的用法真是太好了!

你可能感兴趣的:(遍历文件)