使用PHP统计项目中的文件总行数,只需要输入目录路径即可统计目录内代码的总行数。
<?php
/**
* Author:小洪帽i
* Email :1422278276@qq.com
* CSDN : https://blog.csdn.net/qq_39408664?type=blog
*/
//定义目录路径
$file = './wanlan/';
//执行方法
echo getFilesNumber($file) . "\n";
/**
* [getFilesNumber 计算代码行数]
* @param [string] $file [目录路径]
* @return [int] $number [返回目录行数]
*/
function getFilesNumber($file){
//定义行数
$number = 0;
//判断路径文件是否是一个目录。
if (is_dir($file)) {
//返回指定目录中的文件和目录的数组。
$fileArr = scandir($file);
//循环返回的目录数组
foreach ($fileArr as $fileName) {
//第一个为 . ,则跳过当前循环
if ($fileName[0] == '.') continue;
//拼接上完整的路径
$fileName = $file . "/" . $fileName;
//判断路径文件是否是一个目录。
if (is_dir($fileName)) {
//如果是一个目录,则再次调用当前方法
$number += getFilesNumber($fileName . "/");
} else {
//读取对应类型的文件
if (strpos($fileName, ".php") || strpos($fileName, ".html") || strpos($fileName, ".js") || strpos($fileName, ".css")){
//file() 读取文件的行数,数组格式
//count() 统计数组中元素的数目
$number += count(file($fileName));
}
}
}
} else {
//目录不存在,返回信息
$number = '目录不存在,请检查目录路径或名称是否正确!';
}
return $number;
}