📅  最后修改于: 2023-12-03 14:40:08.466000             🧑  作者: Mango
在CodeIgniter中计数代码行很简单,您可以使用内置的Filesystem函数。
以下是获取单个文件代码行数的代码片段:
$file = APPPATH . 'controllers/Welcome.php';
if (file_exists($file)) {
$lines = count(file($file));
echo "文件 '$file' 包含 $lines 行代码。";
} else {
echo "文件 '$file' 不存在。";
}
在上面的代码中,我们首先定义要计算代码行的文件路径。如果该文件存在,则我们使用PHP中的file函数将文件的所有行读入数组中,并使用count函数获取数组的长度,从而获取代码行数。否则,我们将错误消息输出到屏幕上。
如果您想计算整个目录中的所有PHP文件的代码行数,可以使用递归函数来遍历文件夹中的所有文件。以下是示例代码:
function count_lines($dir) {
$filetypes = array('php');
$linecount = 0;
$files = glob($dir . '/*');
foreach ($files as $file) {
if (is_dir($file)) {
$linecount += count_lines($file);
} else {
$ext = strtolower(pathinfo($file, PATHINFO_EXTENSION));
if (in_array($ext, $filetypes)) {
$linecount += count(file($file));
}
}
}
return $linecount;
}
$dir = APPPATH . 'controllers';
echo "目录 '$dir' 下所有PHP文件共计有 " . count_lines($dir) . " 行代码。";
在上面的代码中,我们首先定义一个数组来存储要计算代码行数的文件类型。然后,我们使用glob函数列出指定目录下的所有文件,并使用foreach循环遍历每个文件。如果是目录,我们使用递归函数count_lines继续遍历该目录下的所有文件;否则,我们检查文件的扩展名是否在$filetypes数组中,如果是,我们使用file函数获取该文件的所有行,并将其添加到$linecount变量中。最后,我们返回$linecount变量的值。
请注意,由于文件权限和文件大小的限制,计算整个CodeIgniter应用程序的代码行数可能需要一些时间和资源。
希望这篇文章对您有所帮助!