我有一个php文件,可打印txt文件的最后50行。但是,此文件每秒钟都会添加一次,并且希望查看该操作的“实时供稿”。如何才能做到这一点?这是php文件的代码:
<?php
$filename = '/home/duke/aa/servers/df/var/logs.log'; //about 500MB
$output = shell_exec('exec tail -n50 ' . $filename); //only print last 50 lines
echo str_replace(PHP_EOL, '<br />', $output); //add newlines
?>
用ajax。如果需要跨浏览器兼容性,请使用jQuery之类的库中的AJAX函数替换我提供的AJAX函数。
<html><head></head><body>
<div id="feed"></div>
<script type="text/javascript">
var refreshtime=10;
function tc()
{
asyncAjax("GET","myphpfile.php",Math.random(),display,{});
setTimeout(tc,refreshtime);
}
function display(xhr,cdat)
{
if(xhr.readyState==4 && xhr.status==200)
{
document.getElementById("feed").innerHTML=xhr.responseText;
}
}
function asyncAjax(method,url,qs,callback,callbackData)
{
var xmlhttp=new XMLHttpRequest();
//xmlhttp.cdat=callbackData;
if(method=="GET")
{
url+="?"+qs;
}
var cb=callback;
callback=function()
{
var xhr=xmlhttp;
//xhr.cdat=callbackData;
var cdat2=callbackData;
cb(xhr,cdat2);
return;
}
xmlhttp.open(method,url,true);
xmlhttp.onreadystatechange=callback;
if(method=="POST"){
xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xmlhttp.send(qs);
}
else
{
xmlhttp.send(null);
}
}
tc();
</script>
</body></html>
您将必须创建一个名为myphpfile.php的php文件(或更改上面的代码以引用正确的文件),并在其中放入以下内容(摘自您的问题):
<?php
$filename = '/home/duke/aa/servers/df/var/logs.log'; //about 500MB
$output = shell_exec('exec tail -n50 ' . $filename); //only print last 50 lines
echo str_replace(PHP_EOL, '<br />', $output); //add newlines
?>
我想在我的应用程序中转换语音到文本...对于这个,我正在使用识别监听器界面一切正常,但如何更新和显示文本,即使说话(像在谷歌现在语音搜索) 我已经设置了识别意图。EXTRA_PARTIAL_RESULTS,为真,并且还使用了识别监听器界面的onPARAL结果(Bundle arg()方法来设置文本通过语音识别完成后立即显示整个文本,但是我希望实时文本在用户说话时显示 我的活动 怎么让这一切发生
问题内容: 我正在制作类似于Risk的基于浏览器的多人回合制策略游戏。 现在,做事的最简单方法似乎就是使其像常规网页一样。玩家每次刷新时,网页都会在数据库中查询所需的信息。 这是可以接受的,但我宁愿实时更新页面,因此播放器不必不断刷新页面。 我可以让网页每X秒查询一次数据库,但是我听说这样做效率不高。 最好的方法是什么? 问题答案: 尝试使用Socket.io库或Juggernaut2。您需要使用
我有课: 阅读了手册后,我明白了我们需要在FX线程中刷新UI。我已经使用了platform.runlater(),但是在流结束时UI变慢了。 为我糟糕的英语感到抱歉。
问题内容: 我正在通过创建带有一些nodejs指令的来玩docker。现在,每次更改dockerfile时,我都会通过在项目文件夹中运行来重新创建映像,但这每次都会创建一个新映像,并很快吞没我的ssd。 更改dockerfile时,是否有一种方法可以更新现有映像,或者每次更改文件时都被迫创建一个新映像? 抱歉,这是一个愚蠢的问题 问题答案: 只要没有指令,Docker构建支持缓存。如果您正在积极地
问题内容: 我同时使用Javafx和线程,并且遇到了这个问题,我制作了一个按钮,然后单击该按钮(使用事件处理程序)时,我做了一个for循环,将按钮更改为1,2,3,4 ,5,然后在每个中间延迟一秒钟。像倒计时! 但是发生的事情是延迟了5秒钟,并将按钮的文本更改为5。 问题是我希望看到它在1到5之间变化,但我看到的只是在5秒延迟结束时为5。我认为它会更改按钮文本,但看不到。我可能与类中的方法有关。
我同时使用Javafx和线程,我经常遇到这个问题,我制作了一个按钮,然后当单击按钮时(使用事件处理程序),我制作了一个for循环,将按钮更改为1、2、3、4、5,然后在每个按钮中间延迟一秒钟。就像倒计时一样! 但实际情况是,它会延迟5秒钟,并将按钮的文本更改为5。 问题是我想看到它在1到5之间变化,但我看到的只是5秒延迟结束时的5。我假设它会更改按钮文本,但我看不到它。我可能不得不处理<代码>。在