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:DCCst");
// 打印行数
echo $line;
?>
© Copyright Notice
THE END
If you like it, please support it.
like0Appreciate Share
Comment Grab the sofa
avatar
Welcome to leave valuable insights!
submit
avatar

Nick name

Cancel
Nick nameexpressioncodepicture

    There are currently no comments available