PHPを使用して.txtファイルを読み込み、そのデータをWebページに解析しています。 .txtファイルはサーバーのステータスを表示するローカルログファイルです。現在、最後の行を読み込んで自分のサイトにプッシュできます。PHPを使用してtxtファイルの内容でWebページを更新する
ただし、サーバーのステータスが変更されると、.txtファイルはローカルに更新されますが、新しい値がサイトに表示されることはありません。
私はコンテンツを表示するためにHTML5/Javascriptを使用しています。ファイルを読み込み、入力を解析/消去するPHPを使用しています。私が使用しているPHPファイルの読み込み機能を示すコードセグメントは、10秒ごとに実行されます。このセグメントの実行後、表示(私はHTML5キャンバスを使用しています)は更新されますが、データは一定のままです。手動でページを更新すると、表示が更新されます。
このtxtファイルを10秒ごとにポーリングし、最後の行を呼び出し可能な変数にプッシュすることは可能ですか?
function getCurrentStatus() {
<?php
clearstatcache();
$myFile = "C:\available.log";
$fh = fopen($myFile, 'r');
$theData = fread($fh, filesize($myFile));
fclose($fh);
$statusList = explode("\n", $theData);
$statusListLength = count($statusList) - 2;
$currentStatus = explode(" ", $statusList[$statusListLength]);
$previousStatus = explode(" ", $statusList[$statusListLength - 1]);
$myFile = "C:\std_server0.out";
$fh = fopen($myFile, 'r');
$theData = fread($fh, filesize($myFile));
fclose($fh);
$garbageCollector = array_map('trim',explode("\n", $theData));
$garbageCollectorLength = count($garbageCollector);
?>
currentStatus = ["Latest Status:", "<?php echo $currentStatus[0]; ?>", "First Started:", "<?php echo $currentStatus[1]; ?>", "<?php echo $currentStatus[2]; ?>", "Last Checked:", "<?php echo $currentStatus[4]; ?>", "<?php echo $currentStatus[5]; ?>"];
latestGC = "<?php echo $garbageCollector[$garbageCollectorLength - 2] ?>"
}
'fopen''fread'と' fclose'の3行の代わりに 'file_get_contents()'を使うことができます – Treffynnon
PHPがうまくやっていないサーバープッシュ技術について話しているようです。あなたの最も簡単な賭けは、ajaxを介してステータスを定期的にリロードすることです。 –