PHP 代码行数统计

<?php
// 行数
$line = 0;
// 需要统计的文件类型
$arr = array("php", "html", "css", "js");
// 过滤的文件夹
$filtering = array("ui", "dist", "style", "lib", "dist", "css","api");
// 遍历目录
function bl_scandir($dirname) {
    global $arr;
    global $filtering;
    global $line;
    // 扫描目录下的文件和目录
    $dirArr = scandir($dirname);
    // 遍历目录
    foreach($dirArr as $v) {
        //组合文件或文件夹的路径
        $filename = $dirname.'\\'.$v;
        // . 表示本层目录, .. 表示上层目录
        if ($v != '.' && $v != '..') {
            // 判断是不是一个目录,是的话递归调用
            if (is_dir($filename)) {
                // 过滤不需要统计的目录
                if (in_array($v, $filtering)) {
                    continue;
                }
                bl_scandir($filename);
            } else {
                // 截取后缀名
                $extension = pathinfo($v,PATHINFO_EXTENSION);
                // 比较后缀名是否在统计的文件类型里
                if (in_array($extension, $arr)) {
                    // 打开文件
                    $fp = fopen($filename, "r");
                    // 读取行数
                    while(stream_get_line($fp,8192,"\n")) {
                        $line ++;
                    }
                    // 关闭文件
                    fclose($fp);
                }
            }
        }
    }
}
// 执行方法,参数为项目路径
bl_scandir("E:\DCC\st");
// 打印行数
echo $line;
?>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

avenjan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值