显示指定目录下文件所有文件的行数和文件的个数

 用到的主要知识点有:便利目录(递归)和统计文件行数函数
 
//递归显示目录下所有的文件
<html>
 <head></head>
 <body>
<?php
$files=0;
$lines=0; 
$di="f:/AppServ/www/xwgl";
function countLines($file){       //统计文件的行数
   
    return count(file($file));
 
 }
 
function dirSize($directory){     //自定义一个函数
if($dir_handle=opendir($directory)){   //打开目录并判断是否能成功打开
 while($filename=readdir($dir_handle)){  //遍历目录下所有文件
  
  if($filename!="."&&$filename!=".."){      //排除两个特殊目录“.”和“..”
   
   $subFile=$directory."/".$filename;         //将目录下的子文件和当前面目录相连
   if(is_dir($subFile)){                                 //如果为目录

    dirSize($subFile);                                 //递归的调用自身,将新目录作为形参
   }
   else{
    global $files,$lines;                //在一个function中引入外部的一个变量,一般情况下,这个外部的变量不通过参数传进来,
                                                 // 而是直接 通过global 引入进来。 而这个global却又没有全局化的意思,就是说用global进行声明,
                                                   //则可以调用函数外的变量。
    
      $files++;
       $lines += countLines($subFile);    //调用统计行数函数
            
    }
   
   }
  
  }
 closedir($dir_handle);
 
 }
 
}
dirSize($di);
 echo "该目录共计".$lines."行,总计".$files."个文件...<br>";
?>

</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值