Php 如何在文本框中实时显示日志?

Php 如何在文本框中实时显示日志?,php,html,Php,Html,我想为我的网站做一个实时日志,这样我就能在它发生的那一刻看到一切。 我已经有一个日志,但我必须重新加载页面每次更新的内容 <?php $logcontent = file_get_contents("log.txt", false); ?> <html> <textarea readonly class="logBox" cols="200" rows="40"> <?php echo($logcontent); ?> </textare

我想为我的网站做一个实时日志,这样我就能在它发生的那一刻看到一切。 我已经有一个日志,但我必须重新加载页面每次更新的内容

<?php
$logcontent = file_get_contents("log.txt", false);
?>

<html>

<textarea readonly class="logBox" cols="200" rows="40"> <?php echo($logcontent); ?> </textarea>

</html>

PHP脚本只能在页面加载之前工作。如果您想这样做,您的意思是,您需要使用AJAX。 例如,您的JS代码:

setInterval(function(){
   var xhr = new XMLHttpRequest();
   xhr.onreadystatechange = function(){
    if (xhr.readyState === 4){
     var oglasi = xhr.responseText;
     document.getElementsByClassName("logBox").value = oglasi;
    }
   };

xhr.open('GET', 'YOUR LINK TO PHP FILE HERE');
xhr.send();
}, 3000);
以及您的PHP文件代码:

<?
 $logcontent = file_get_contents("log.txt", false);
 echo $logcontent;
?>

有关setInterval的更多信息,请参见此处-


关于AJAX的更多信息-

PHP是一种服务器端语言。一旦脚本完成并且浏览器接收到它的输出,就没有进一步的交互了。如果您真的需要实时刷新,您需要使用JavaScript并实现双向通信(例如),尽管我觉得这并不是您真正想要的。