我正在建立一个简单的网站,它将像幻灯片一样显示照片。照片会在不可预知的时间自动上传到服务器。目前,我每分钟运行一个 cron 作业,以制作一个包含照片文件名列表作为数组的 javascript 文件。在网页上,我引用此文件并一次显示数组中列出的照片。目前,这部分工作正常。
我想让网页定期检查定义数组的 javascript 文件自从在初始加载时抓取文件后是否有任何添加。如果有添加,网页应该从列表的开头重新开始,并显示最新的照片。
有没有一种简单的方法可以做到这一点?
这是网页:
<html><head>
<style type="text/css">
body {background: black;}
</style>
<script src="imageList.js"></script>
<script type="text/javascript">
function switchImage() {
document.getElementById("body").innerHTML='<img id="main" src="photos/' + imageList[i] + '"/>';
i++;
if (i>=imageList.length) { i=0; }
}
i=0;
setInterval(function(){switchImage()},45000);
</script>
<title>SlideShow</title></head>
<body id="body">
</body>
</html>
这是我正在运行的脚本,用于将照片列表生成为 imageList.js 中的 javascript 数组:
#! /usr/bin/bash
printf "var imageList = new Array();\n" > /var/www/htdocs/example.com/imageList.js
count=0
for file in `ls /var/www/htdocs/example.com/photos/`;
do
printf 'imageList[%s] = "%s";\n' $count $file >> /var/www/htdocs/example.com/imageList.js
count=$(($count+1))
done