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


PHP include that refreshes (now playing information for radio station)

我正在组建一个在线广播电台,我正在使用Applescript更新我的服务器,其中包含最终来自iTunes的"正在播放"信息。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);

我的问题是:如何让这些信息自动输出?即使它在服务器上更新,它也会保持静止,直到我在网页上点击刷新。如何让此 PHP 信息自行刷新而无需手动刷新屏幕?当前曲目信息如何自动更改?

首先,在您的 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; 
}