我正在使用PHP回显文件中的最后x行,但它正在发回旧数据。如果我直接调用PHP,然后刷新,它会显示正确的数据。 但是,从调用PHP的HTML页面(使用jQuery),它将只加载上次显示的数据,直到我直接调用PHP并再次刷新。需要调用PHP两次才能获得正确的结果
我在另一台服务器上使用了相同的代码,没有任何问题。这似乎是在这个新的服务器上,问题是。
这是PHP代码段
$file = file("thisisarealpath/server_chat.log") or die("No Server Chat Found");
if (count($file) > $MAX_SERVER_LINES) {
for ($i = count($file) - $MAX_SERVER_LINES;$i < count($file); $i++) {
echo "<span id=\"serverMessage\">" . $file[$i] . "</span><br/>";
}
} else {
for ($i = 0;$i < count($file); $i++) {
echo "<span id=\"serverMessage\">" . $file[$i] . "</span><br/>";
}
}
这是jQuery的调用它
setInterval(function() {
if (window.refresh) {
$("#serverLog").load("GetLogs.php?logType=server&pass=" + window.pass);
}
}, 3000);
刷新HTML页未解决的问题。我找到的唯一“修复”是直接点击PHP,然后刷新。
你有没有日志或其他东西要继续? – atwright147
如果你的日志文件会变大,你不能用file()加载所有内容到一个数组中看看['fread()']的例子(http://php.net/manual/en/function.fread .php) –