工具使用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教學有興趣的朋友有幫助。