我正在尝试查看纯文本文件以进行任何更改。我想使用PHP并在添加新行时逐行读取文件。
有时可以添加1行,其他时候可以添加数十行。我想阅读每一行并检查它是否与任何关键词匹配..
这是我到目前为止所得到的,但它不是一行一行的...如果基于缓冲区。
<?php
$file='log.txt';
$line = $lastpos = 0;
while (true) {
usleep(500000);
clearstatcache(false, $file);
$len = filesize($file);
if ($len < $lastpos) {
$lastpos = $len;
}
elseif ($len > $lastpos) {
$f = fopen($file, "rb");
if ($f === false) die();
fseek($f, $lastpos);
while (!feof($f)) {
$buffer = fread($f, 4096);
if ($lastpos > 0) {
if (strpos($buffer, 'MATCH') !== false) echo "$line\r\n";
}
flush();
$line++;
}
$lastpos = ftell($f);
fclose($f);
}
}
?>
任何人都可以帮助我指出正确的方向。理想情况下,我不希望将日志保留在内存中,因为它可以增长到合理的大小。
由于