Javascript php:在文件更改时重新加载div
我有一个树莓圆周率与一些按钮连接到它改变了一些文件中包含的值,如“设置.txt”。例如,它的内容可能非常简单Javascript php:在文件更改时重新加载div,javascript,php,html,ajax,Javascript,Php,Html,Ajax,我有一个树莓圆周率与一些按钮连接到它改变了一些文件中包含的值,如“设置.txt”。例如,它的内容可能非常简单 42 就这样。按钮触发更改此文件内容的过程(例如,42变为43) 该值需要显示在Apache2运行的网站上,因此我构建了以下内容: <html> <body> <div id="fileContent"></div> </body> <script type="text/
42
就这样。按钮触发更改此文件内容的过程(例如,42变为43)
该值需要显示在Apache2运行的网站上,因此我构建了以下内容:
<html>
<body>
<div id="fileContent"></div>
</body>
<script type="text/javascript">
window.onload = function() {
var $interval = 100;
setInterval(updateDivByPHP, $interval, "fileContent", "getcontent.php");
}
function updateDivByPHP($id, $phpFile) {
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
document.getElementById($id).innerHTML = xmlhttp.responseText;
}
xmlhttp.open("POST", $phpFile);
xmlhttp.send();
}
</script>
</html>
将刷新间隔设置为100ms后,我预计文件更改后的刷新延迟会很短,但要更新内容需要2整秒钟
对于我想要的东西,是否有一种修复方法或更有效的方法
编辑
如果文件可以完全跳过,并将其输出直接传输到网站,那就更好了…我认为您应该使用Jquery,有人这样认为:对于php文件获取内容()不要使用
包含,使用读取文件或文件获取内容,include
有一些缓存机制(找不到有关它的信息,但请查看下面的示例),而且速度较慢,因为它必须评估文件
<?php
readfile("setting.txt");
//echo file_get_contents("setting.txt");
?>
我使用apache中的include进行了一些测试:
<?php
include("test.txt"); //outputs "hi"
//override "test.txt"
file_put_contents("test.txt", "bye");
readfile("test.txt"); //outputs "bye"
include("test.txt"); //outputs "hi"
?>
如果要在文件被修改到浏览器中后立即发送该文件,则应使用WebSocket和文件监视程序。(您可以使用node.js执行此操作,使用:和)
node.js的一些文件监视程序模块
谢谢,很简单:-)不客气,如果您想尽快更新内容,请查看我编辑的答案。我会调查的。网络编程对我来说是全新的,所以我有点习惯于。。。
<?php
include("test.txt"); //outputs "hi"
//override "test.txt"
file_put_contents("test.txt", "bye");
readfile("test.txt"); //outputs "bye"
include("test.txt"); //outputs "hi"
?>