PHP包含刷新(现在播放广播电台的信息)

时间:2012-05-09 00:26:21

标签: php html

我正在组建一个在线广播电台,我正在使用Applescript通过最终来自iTunes的“nowplaying”信息更新我的服务器。 Applescript将该信息作为.html文件推送到服务器。 这很好,然后我使用这行php收到我的网站的信息:

$fp = fopen ("music/rtl.txt","r"); 
if (!feof($fp) ) 
{ 
   $buffer = fgets($fp, 1024); 
   print "<tr><td align=\"center\"><b>Current Track</b>: $buffer"; 
} 
fclose ($fp);

我的问题是:如何自动将此信息提供给udpate?即使它在服务器上更新,它仍将保持静止,直到我在网页上点击刷新。 如何在不必手动刷新屏幕的情况下获取此PHP信息以进行刷新? Current Track信息如何自动更改?

1 个答案:

答案 0 :(得分:1)

首先,在您的html页面上,使用带有ID的范围来指示您希望跟踪信息的位置:

//html page
<tr><td align="center"><b>Current Track</b>: <span id="currentTrack"></span>";

然后,假设jquery很酷,请在自定义函数中使用ajax函数,然后使用setInterval每5秒运行一次:

//script page (using jquery)
$(function(){

    setInterval(refreshTrack,5000); //  5 SECONDS

    function refreshTrack() {
        $.ajax({
                type: 'post',
                url: 'ajax.php',
                success: function(txt) {
                    $('#currentTrack').text(txt);
                }
            });
    }
});

当然,你的ajax页面看起来非常像你所拥有的,除了带走html标记,因为它吐出的内容将介于<span>标签之间:

// ajax.php
$fp = fopen ("music/rtl.txt","r"); 
if (!feof($fp) ) 
{ 
   $buffer = fgets($fp, 1024); 
   echo $buffer; 
}