我正在组建一个在线广播电台,我正在使用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信息如何自动更改?
答案 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;
}