php代码统计工具

来源:互联网 发布:网络视频下载软件 编辑:程序博客网 时间:2024/05/29 10:58

工具使用php编写,要求文件下下的文件为php文件(也就是以.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;//输出总的代码量?>



0 0
原创粉丝点击