Я использую PHP для чтения в .txt-файле и анализа данных на веб-странице. Файл .txt является локальным файлом журнала, который отображает статус моего сервера, и теперь я могу читать последнюю строку и выталкивать ее на свой сайт.Обновление веб-страницы с содержимым файла txt с использованием PHP
Однако, когда статус моего сервера изменяется, файл .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] ?>"
}
Вы можете использовать 'file_get_contents()' вместо трех строк 'fopen'' fread' и 'fclose' – Treffynnon
Похоже, вы говорите о методе push-сервера, который php не очень хорошо работает. Ваша самая легкая ставка - просто перезагрузить статус через ajax. –