php统计代码行数
2020-11-09 15:14:33 来源:admin 点击:474
<?php
// 行数
$line = 0;
// 需要统计的文件类型
$arr = array("php", "html", "css", "js", "tpl", "wxml", "wxss");
// 过滤的文件夹
$filtering = array("wamplangues", "ckeditor", "wampthemes", "wordpress", "dede", "thinkphp");
// 遍历目录
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("D:\phpstudy_pro\WWW\web");
// 打印行数
echo $line;
?>