目录的遍历是PHP程序设计中经常会用到的一个功能,很多PHP项目都有这一功能模块。今天本文就来实例解析一下PHP采用自定义函数实现遍历目录下所有文件的方法。具体方法如下:
方法一:使用readir()遍历目录
实现代码如下:
function listDir($dir)
{
if(is_dir($dir))
{
if($handle = opendir($dir))
{
while($file = readdir($handle))
{
if($file != "." && $file != "..")
{
if(is_dir($dir.DIRECTORY_SEPARATOR.$file))
{
echo "目录名:".$dir.DIRECTORY_SEPARATOR."<font color="red">".$file."</font><br />";
listDir($dir.DIRECTORY_SEPARATOR.$file);
}else{
echo "文件名:".$dir.DIRECTORY_SEPARATOR.$file."<br />";
}
}
}
}
closedir($handle);
}else{
echo "非有效目录!";
}
}
listDir("./phpmyadmin");
方法二:使用dir()遍历目录
本例采用dir()函数遍历,执行成功时返回Directory类实例
function tree($dir)
{
$mydir = dir($dir);
while($file = $mydir->read())
{
if($file != "." && $file != "..")
{
if(is_dir("$dir/$file"))
{
echo "目录名:".$dir.DIRECTORY_SEPARATOR."<font color="red">".$file."</font><br />";
tree("$dir/$file");
}else{
echo "文件名:".$dir.DIRECTORY_SEPARATOR.$file."<br />";
}
}
}
$mydir->close();
}
tree("./phpmyadmin");
除此之外,还有很多实现目录遍历的方法,相信本文所述方法能够给大家的PHP程序设计带来一定帮助。