我正在组建一个在线广播电台,我正在使用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;
}