Maison >développement back-end >tutoriel php >php代码统计工具
工具使用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;//输出总的代码量 ?>
以上就介绍了php代码统计工具,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。