2016-12-27 26 views
1

所以有這個日誌文件的條目保存在一行中。現在,我想閱讀這些文件並逐行顯示在一個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 
+0

究竟是什麼問題? – Dekel

+1

'echo $ buffer。 「\ n」;' - >'echo $ buffer。 「
」;' – cmorrissey

+0

看看你的html源代碼;休息是在那裏好的。你究竟想看到那些? –

回答

2

如果你的代碼的執行過程中看了你的HTML源代碼,你會看到,換行符是非常那裏。你需要做的是file_get_contents()並輸出到<br>

\n不足以向他們展示一條線;無論如何不在屏幕上。

添加<br>\n爲了生成乾淨的HTML。

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

旁註:當我寫*「看看你的html源代碼時,我沒有看到cmorrissey的評論;休息時間沒有問題。」* –