我想逐行读取从日志文件到php文件

时间:2016-12-27 21:15:21

标签: php

因此,此日志文件中的条目一行一行地保存。现在,我想阅读那些并在php文件中逐行显示它们。到目前为止,我能够读取文件,但无法逐行显示。我的PHP代码是:

$file='/var/log/siawa/dashboard/iot.log';

$lastpos = 0;
while (true) {
    usleep(300000); //0.3 s
    clearstatcache(false, $file);
    $len = filesize($file);
    if ($len < $lastpos) {
        //file deleted or reset
        $lastpos = $len;
    }
    elseif ($len > $lastpos) {
        $f = fopen($file, "r");
        if ($f === false)
            die();
        fseek($f, $lastpos);
        while (!feof($f)) {
            $buffer = fgets($f, 4096);
            echo $buffer. "\n";
            flush();
        }
        $lastpos = ftell($f);
        fclose($f);
    }
}

这些是我在日志文件中的条目:

2016-08-17 13:21:28 | INFO: Data on Date: 2016-08-17 12:26:15 already  added
2016-08-17 13:48:46 | INFO: Data on Date: 2016-08-17 12:26:15 already  added

1 个答案:

答案 0 :(得分:2)

如果您在代码执行期间查看了HTML源代码,您会看到换行符非常好。

您需要做的是file_get_contents()并使用<br>将其输出到屏幕。

\n不足以在另一条线下显示一条线;反正不在屏幕上。

添加<br>\n以生成干净的HTML。

echo $buffer. "<br>" . "\n";