2016-12-27 24 views
1

このログファイルには、行単位で保存されたエントリがあります。さて、私はそれらを読んで、phpファイルで1行ずつ表示したいと思います。これまではファイルを読むことができましたが、行ごとに表示することはできませんでした。私のPHPコードは次のとおりです。ログファイルからphpファイルに1行ずつ読み込みたい

$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); 
    } 
} 

これらのログファイルに私のエントリです:あなたはあなたのコードの実行中に、あなたのHTMLソースを見ている場合は、改行が非常にあることがわかるだろう

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

よくそこに。

file_get_contents()に行う必要があるものは<br>で画面に出力します。

\nは、1行を他方の下に表示するには不十分です。とにかく画面には表示されません。

クリーンなHTMLを生成するために<br>\nを追加します。

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

Sidenote:私は「あなたのHTMLソースを見て、ブレークはそこにある」と書いたとき、私はcmorrisseyのコメントを見ませんでした。* –

関連する問題