PHP计算文本文件中特定行之后的行

时间:2018-09-19 01:53:36

标签: php count row

我想在特定行之后计算文本文件(.txt)的行。

示例:我想在第10行之后,然后在第11行直到结束进行计数。

有可能吗?

我尝试过的事情:

$files = "log.txt";
echo count(file($files));

但是您知道它将计算所有行。

我想要的是,在第10行之后,然后是第11行,直到计数结束为止。

有什么主意吗?

更新 只需要计算带有值的行,忽略空行/行

2 个答案:

答案 0 :(得分:1)

尝试一下

$files ="log.txt";
$f = fopen($files, 'rb');
$row = 1;
while (!feof($f)) {
    $row += substr_count(fread($f, 8192), "\n");
}
fclose($f);
echo $row;

如果不计算空行,则为

$r  = array_filter(array_map("trim", file($files)), "strlen");
echo count($r);

答案 1 :(得分:0)

与markatonay类似,但更短:

$text = file_get_contents('/tmp/log.txt');
$lines = array_filter(array_map('trim', explode("\n", $text)));

print_r($lines);
echo "COUNT:" . count($lines);
echo "\r\n";