目錄的遍歷是PHP程序設計中經常會用到的一個功能,很多PHP項目都有這一功能模塊。接下來就為大家解析一下PHP采用自定義函數實現遍歷目錄下所有文件的方法。具體方法如下:
方法一:使用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('./test');
方法二:使用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('./test');