日志文件将采用记事本格式,其值将如下所示 11.23445646,56.3456578954 10.23445646,26.3456578954 16.23445646,-46.3456578954 我打算从服务器到网站文本框中获取数据,其中第一个值我标记为斜体,值将在几秒钟后更新,更新值将首先出现。我尝试了一些PHP示例,但没有在下面的文本框中获取我需要获取的值...例如:x = 11.23445646,y = 56.3456578954,请指导我
Longtitude <input id="x" type="number" value = "" onkeyup="updateMarker('x')">
Latitude <input id="y" type="number"value = "" onkeyup="updateMarker('y')">
答案 0 :(得分:0)
PHP并不真正进行“实时”页面更新,因为通常当Web浏览器(或其他用户代理)在下载页面后加载网页时,PHP已经完成,无法触及已经存在的内容客户端。
最好的方法可能是使用JavaScript AJAX调用定期从PHP脚本加载更新的值,然后更新页面上的值。
或者如果它是一个非常小的页面(以字节大小),你可以让它自动重新加载整个页面(使用更新的值),如果这对你来说不是问题。
在任何情况下,每次调用PHP脚本时,它只会以读取模式打开文件,只读取文件开头的最新值并返回它们。见fread()。或者file_get_contents()或file()可能更容易,只需阅读第一行。
AJAX是一个更大的主题,我目前没有时间来解释使用JavaScript更新页面的整个过程。谷歌是你的朋友。
答案 1 :(得分:0)
PHP通常不会以您期望的方式支持实时连接,您必须通过重复的AJAX请求来模拟它。怎么样?例如每秒或每两秒钟。
首先必须使用jQuery库在HTML中编写ajax:
每秒发送一次请求:
var url = "url_to_you_file";
var textarea_id = "#textarea";
setInterval(function(){
$.ajax({
url : "site.com/get-file-logs.php",
type : "POST",
success : function(data){
$(".textarea").html(data);
}
});
}, 1000);
然后在PHP文件中你会写这个:
$file_path = "path_to_your_file";
$file_content = file_get_contents($file_path);
echo $file_content;
上面的示例获取文件内容并将其发送回您的浏览器。您可能希望以某种方式处理它;然后改变你的方法一点点。因为当您尝试从服务器获取数据以便由Javascript操作时,您必须始终坚持使用JSON格式。