如何制作每隔几分钟重命名特定目录中文件的perl脚本?

时间:2010-11-14 22:31:05

标签: perl file cgi

我想在我的网站上添加一个实时图片旋转,我找不到任何其他方法,所以我决定我需要一个cgi脚本,它将: 1.删​​除旋转中的第一张图片(例如pic1.jpg) 2.重命名其余图片(例如将pic2.jpg重命名为pic1.jpg,pic3.jpg至pic2.jpg,pic4.jpg至pic3.jpg等等) 3.每隔5分钟执行此操作,以便我的网站的观看者在屏幕时间都能看到相同的图片。 任何帮助都感激不尽, 感谢。

3 个答案:

答案 0 :(得分:2)

坦率地说,这听起来很糟糕。文件操作相对较慢,并且往往会在像webapp这样的高度并发的应用程序中自行处理。

寻找另一种方式。如何使用当前时间作为选择图片的关键?

currentImageIndex = currentTimeRoundedToTheNearestFiveMinutes %
                    totalNumberOfImages

已修改,详情请求:

基本上,取当前时间,然后将其四舍五入到最近的五分钟。使用整数数学做currentHour / 12之类的事情会给你这个;否则,截断结果。然后使用modulo运算符(Perl中的%和许多语言 - 新手倾向于忽略的便捷运算符)来生成从0n-1的数字,其中{{ 1}}是您要投放的图片总数。然后,您可以引用映射表从该索引转换为文件名。

答案 1 :(得分:2)

要使这项工作“以便我的网站的观众几乎可以同时查看同一张图片”,您需要为每张图片使用不同的网址,或确保您告诉浏览器和代理不要缓存图片...而不是缓存是一个非常糟糕的主意;你的观众不会欣赏它,你的服务器也不会。

答案 2 :(得分:0)

由于您在评论中说您不需要缓存,而不是更改每个文件的文件名,为什么不让您的页面指向一个符号链接的文件,然后每隔几分钟更改符号链接的指针。看起来它可以满足你的需要,而不需要主要文件操作的开销。

相关问题