首页 >后端开发 >php教程 >php代码实现统计分享

php代码实现统计分享

小云云
小云云原创
2018-03-14 09:52:291471浏览

本文主要和大家分享php代码实现统计功能,希望能帮助大家学会php代码如何实现统计的方法。

<?php
$filename = "D:/code/";//php代码所在目录
$counts = 0;
function codeCount($filename)
{
    global $counts;
    $total = 0; // 总行数
    $space = 0; // 空行数
    $notes = 0; // 注释
    $handle = fopen($filename, "r");
    $isNotes = false;
    while (! feof($handle)) {
        $line = fgets($handle);
        $total ++;
        if ($isNotes) {
            $notes ++;
            if (preg_match("/.*(\*\/)/", $line)) { // 多行*/注释结束
                $isNotes = false;
            }
            continue;
        }
        if (preg_match("/^[\s]*$/", $line)) { // 空行
            $space ++;
        } elseif (preg_match("/^[\s]*\/\//", $line)) { // 两杠注释
            $notes ++;
        } elseif (preg_match("/^[\s]*(\/\*).*(\*\/)[\s]*$/", $line)) { // 单行注释
            $notes ++;
        } elseif (preg_match("/^[\s]*(\/\*).*/", $line)) { // 多行/*注释开始
            $notes ++;
            $isNotes = true;
        }
    }
    echo "total:" . $total . "\r\n";
    echo "space:" . $space . "\r\n";
    echo "notes:" . $notes . "\r\n";
    echo "<br>";
    $counts += ($total - $space - $notes);
}
if (is_file($filename)) {
    codeCount($filename);
} else 
    if (is_dir($filename)) {
        if ($dh = opendir($filename)) {
            while (($file = readdir($dh)) != false) {
                // 文件名的全路径 包含文件名
                $filePath = $filename . $file;
                // 获取文件修改时间
                if (is_file($filePath)) {
                    codeCount($filePath);
                }
            }
            closedir($dh);
        }
    }
echo "<br>" . $counts;//输出总的代码量
?>

相关推荐:

php代码统计工具

以上是php代码实现统计分享的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn