PHP脚本删除数千个.jpg图像?
我的共享网络主机性能较弱,不支持 cron 或 perl,而且我经常需要从某些文件夹中删除数千个 .jpg 图像。图像是从网络摄像头上传的。我想知道是否有一个简单的应用程序可以递归地找到所有 .jpg 图像并删除它们。
我需要能够仅定位以下日期格式的图像:2011-10-19_00-29-06.jpg ...并且仅定位超过 48 小时的图像。
阿帕奇2.2.20 直接管理 1.39.2 MySQL 5.1.57 PHP 5.2.17
My weak shared web host doesn't support cron or perl and I often need to delete thousands of .jpg images from certain folders. The images are uploaded from webcams. I'm wondering if there is a simple app out there that can find all .jpg images recursively and delete them.
I need to be able to target only images in the following date format : 2011-10-19_00-29-06.jpg ... and only images older than 48 hours.
Apache 2.2.20
DirectAdmin 1.39.2
MySQL 5.1.57
Php 5.2.17
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
@user427687,你是指所有图片格式
2011***.jpg
吗?如果是这样,也许我的代码可以工作。@user427687, Do you mean all the picture format
2011***.jpg
? if so, may be my code would work.一个简单的天真的版本:
这将通过检查文件是否是昨天或前天的日期标记来删除所有带日期标记的文件 3 天或更早。但它也会删除今天创建的所有文件。
更好的版本是:
此版本检查文件的实际上次修改时间,并删除超过 48 小时的任何内容。然而,它会更慢,因为 filectime() 执行的 stat() 调用将是一个不便宜的调用。
A simple naiive version:
This will delete all files which are date-stamped 3 days or older, by checking if the file is date stamped yesterday or day-before-yesterday. But it will also delete all files created today.
A better version would be:
This version checks the actual last-modified time on the file, and deletes anything older than 48 hours. It will be slower, however, as the stat() call performed by filectime() will be a non-cheap call.
像这样的事情应该让你开始:
Something like this should get you started:
或者只是使用 php:
or just with php: