PHP自定义函数遍历目录下所有文件示例

发布时间:2020-02-24编辑:脚本学堂
本文介绍了php使用自定义函数遍历目录下所有文件的方法,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目录遍历的方法,请参考如下文章: