[PHP]PHP自定义遍历目录下所有文件的方法
header('content-type:text/html;charset=utf-8');
/**
* 方法一:使用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文件系统函数参考Filesystem函数
Refer:什么是PHP遍历