在PHP中,是否可以在不刷新页面的情况下更新值


Is it possible in PHP to update a value without refreshing the page?

我想从URL中获取一个值,并在其中一个元素穿过一个值时播放一个声音,并每分钟更新一次,这样它就可以显示在页面上而无需刷新。

这就是我目前所拥有的:

<?php
//while(true)
//{
  $string = file_get_contents("http://www.bitstamp.net/api/ticker/");
  $content = json_decode($string, true);
  echo $content["timestamp"],"'n", $content["last"];
// sleep(30);
//}
?>

如果我取消对循环的注释,页面就不会加载(我想它会在显示任何内容之前尝试获取循环的所有迭代)。有没有一种方法可以用php实现这一点,这样值就会自动更新自己?

有什么想法吗?

这是不可能的。为了让PHP将数据从服务器发送到客户端,必须同步发出请求。异步实现这一点的最常见方法是使用Ajax,最近有一个好方法是使用Angularjs进行前端开发。如果您将jQuery和Ajax结合起来(它们很容易学习JavaScript库),您可以做一些非常酷的事情。您想要做的是发送一个XHR请求可以实现异步数据操作。

不,您可能想尝试Javascript来实现该功能,因为它是在客户端完成的。

您不应该使用循环,而是应该使用函数延迟下一次文件提取的执行

settimeout();

http://www.w3schools.com/jsref/met_win_settimeout.asp