php - 服务器上的文件更改时刷新页面
问题描述
在我的 wwwroot 中,我放置了文件 123.txt。我的简单服务将字符串放入此文件。此外,在 index.php 中,我使用 123.txt 的内容作为变量。更改 123.txt 文件时如何强制浏览器刷新页面?
解决方案
您可以在页面加载时在 javascript 中设置该值,然后每 X 秒轮询一次文件以查看它是否已更改。
<script type="text/javascript">
let originalValue = "<?php echo file_get_contents('123.txt'); ?>";
function checkFileForChanges() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == XMLHttpRequest.DONE) { // XMLHttpRequest.DONE == 4
if (xmlhttp.status == 200) {
if (xmlhttp.responseText != originalValue) {
window.location.reload();
}
}
else if (xmlhttp.status == 400) {
//alert('There was an error 400');
}
else {
// alert('something else other than 200 was returned');
}
}
};
xmlhttp.open("GET", "123.txt", true);
xmlhttp.send();
}
let interval = setInterval(()=> {
checkFileForChanges();
}, (30*1000)) // every 30 seconds
</script>
推荐阅读
- python - 根据另一列的字符串删除列中的字符串
- c++ - 如何在类体内获取对象名称?
- java - 无法使用 Maven 从终端运行测试
- shell - 没有 -t 开关的 Docker 中的系统输出
- c# - 如何使用 dapper 执行 postgres 函数
- ios - 如何将固定高度视图添加到垂直堆栈视图?
- sql-server - 根据 sql 查询中可用的记录数在 Userform 上创建多个复选框
- android - 如何像 Android 中的 uber 一样在地图上为我的汽车设置动画和旋转?
- bash - 如何在多次出现某些字符后删除整个字符串?
- python - python数据框根据行数对行进行分组