0

我正在组建一个在线广播电台,并且正在使用 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 信息自行刷新?当前曲目信息如何自动更改?

4

1 回答 1

1

首先,在您的 html 页面上,使用带有 id 的 span 来指示您想要跟踪信息的位置:

//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; 
} 
于 2012-05-09T01:25:08.953 回答