<?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
There are currently no comments available