gpt4 book ai didi

php - 目录内容改变时刷新页面

转载 作者:行者123 更新时间:2023-11-29 18:25:22 26 4
gpt4 key购买 nike

我正在制作一个在线 jQuery 幻灯片,用于显示本地体育社区的最新比分。幻灯片是由 Powerpoint 演示文稿制作的图像,使用 Windows 程序 Autover 自动与我的 Centos6 服务器上的目录同步。

为了获得良好的用户体验,最好在图像更新时刷新页面(或显示分数已更新的一些文本并让用户刷新)。我可以设置元刷新,每 10 分钟刷新一次页面,但这不是理想的解决方案。

浏览其他主题我发现仅使用 Javascript 无法监控服务器目录。

我现在的想法是制作一个返回 true(已更改)或 false(未更改)的 php 脚本,并使用 javascript 每 5 分钟从幻灯片网页调用此脚本。

对于 php 脚本,我阅读了一些使用这些解决方案的主题:

  • Inotify-tools(Centos 默认没有安装)
  • FAM(可能已过时?)
  • 对目录进行 md5 散列,并将其与之前的散列进行比较。

以上哪种解决方案是最好的解决方案?有人可以给我提供一个 php 示例吗?不幸的是,我的 PHP 技能不是很好。

最佳答案

通过PHP函数stat,可以得到目录的信息。

文档在这里:http://php.net/manual/en/function.stat.php

例如获取修改时间和目录大小如下:

dir_stat.php

<?php
$stat = stat('\path\images');
echo 'time: ' . $stat['mtime']; /* time of last modification (Unix timestamp) */
echo 'size: ' . $stat['size']; /* size in bytes */
?>

而在客户端,您可以检索目录信息并以固定的时间间隔进行比较。使用 jQuery 的示例代码可能如下所示。

<script language="javascript">

var myVar=setInterval(function(){chekUpdate()},5*60*1000); // at 5 minutes intervals
var stat_old = "";
function chekUpdate()
{
$("#stat").load("/path/to/dir_stat.php",function(){
var stat_new = $("#stat").html();
if((stat_old != "") && (stat_old != stat_new)){
refreshSlideShow();
}
stat_old = stat_new;
});
}
function refreshSlideShow()
{
// you can refresh your slideshow here.
}
</script>
<body>
<div id="stat">
</div>
</body>

关于php - 目录内容改变时刷新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14040064/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com