php怎么获取目录列表?php递归遍历目录中文件的方法

发布时间:2020-09-22编辑:脚本学堂
php如何获取目录列表,php递归遍历指定目录中文件的方法,在php编程中使用目录函数opendir与readdir,并结合php递归函数实现目录与文件的遍历操作。

一、php获取目录列表的方法

php获取目录列表
 

复制代码 代码示例:
<?php
 function list_directory_content($dir){
  if(is_dir($dir)){
   if($handle = opendir($dir)){
    while(($file = readdir($handle)) !== false){
     if($file != '.' && $file != '..' && $file != '.htaccess'){
      echo '<a target="_blank" href="'.$dir.$file.'">'
       .$file.'</a><br>'."n";
     }
    }
    closedir($handle);
   }
  }
 }
?>

二、php递归遍历指定目录的文件并统计文件数量的方法

php递归遍历指定目录的文件并统计文件数量

例子:
 

复制代码 代码示例:

<?php
//递归函数实现遍历指定文件下的目录与文件数量
function total($dirname,&$dirnum,&$filenum){
  $dir=opendir($dirname);
  echo readdir($dir)."<br>"; //读取当前目录文件
  echo readdir($dir)."<br>"; //读取上级目录文件
  while($filename=readdir($dir)){
    //要判断的是$dirname下的路径是否是目录
    $newfile=$dirname."/".$filename;
    //is_dir()函数判断的是当前脚本的路径是不是目录
    if(is_dir($newfile)){
      //通过递归函数再遍历其子目录下的目录或文件
      total($newfile,$dirnum,$filenum);
      $dirnum++;
    }else{
      $filenum++;
    }
  }
  closedir($dir);
}

$dirnum=0;
$filenum=0;

total("E:/AppServ/www/phpmyadmin",$dirnum,$filenum);
echo "目录总数:".$dirnum."<br>";
echo "文件总数:".$filenum."<br>";
//遍历指定文件目录与文件数量结束
?>