如何使用PHP定期更改HTML中的值

时间:2014-02-16 22:51:18

标签: php html get

假设我想要一个实时显示PHP内存使用情况的网页。

我可以通过以下方式获取内存:

memory_get_peak_usage(1)

我可以在这样的输入字段中打印它:

<form>
    Memory usage: <input type="text" name="FirstName" value="<?echo memory_get_peak_usage(1);?>">
</form>

并且更新输入字段中的值的选项将重新加载页面,但是如何在不刷新的情况下执行此操作?

我打赌我必须使用GET / POST方法。

while (1)
{
    $mem =  memory_get_peak_usage(1);
    sleep(0.5);
    update_inputField_value($mem);
}

1 个答案:

答案 0 :(得分:3)

你必须使用类似长轮询的东西,你有一个网站让客户端等待请求,偶尔会根据需要提供一些HTML;或类似socket.io的实现,用于nodejs,允许您执行本机寻找的操作。

以下是关于使用PHP进行longpolling的问题:How do I implement basic "Long Polling"?

这是一个关于如何使用socket实现的socket.io的问题: Using PHP with Socket.io

最后一种选择是在计时器上进行ajax调用,该计时器每隔几秒就会触发一次Web服务,即使是定期刷新,也会给页面带来实时感觉。

假设您正在使用jquery:

setTimeout(function(){
    $.ajax({
        dataType: "json",
        url: 'memoryUsage.php',
        success: function(data){
            $("#FirstName").val(data.memory)
        }
    });
}, 5000); //5 seconds

假设你的memoryUsage.php回显了一个看似{memory:“some value”}的值

请记住,所有这些选项都是相当大的内存和网络流量。