我使用的PHP图库,自动生成图片库目录的图像。
http://davidwalsh.name/generate-photo-gallery
我会修改脚本,以增加清除所有缩略图在用户定义的时间间隔后,例如12或24小时内的缩略图文件夹。
发布于 2015-04-24 08:15:40
就我个人而言,我不会将glob
作为代码中的一个错误使用,您最终可能会删除的不仅仅是指定的文件。如果你硬编码,你应该很安全.
使用cron作业也是另一种想法,但通常共享主机不允许它们使用。但是我推荐一个cron作业,比如每小时运行一次,并删除所有具有12/24小时以上时间戳的文件。
示例脚本使用GLOB
<?php
$files = glob("thumbnailsfolder/*");
$now = time();
foreach ($files as $file)
if (is_file($file))
if ($now - filemtime($file) >= 60*60*24*2) // 2 days
unlink($file);
?>
使用DirectoryIterator -我的个人偏好
<?php
foreach (new DirectoryIterator("thumbnailsfolder") as $fileInfo) {
if ($fileInfo->isDot()) {
continue;
}
if (time() - $fileInfo->getCTime() >= 1*24*60*60) {
unlink($fileInfo->getRealPath());
}
}
?>
摘自The correct way to delete all files older than 2 days in PhP的例子
发布于 2015-04-23 16:14:36
如果您试图按常规计划清除旧文件,最好使用cron
作业。
但是,我做了一些类似的事情,在用户下载或查看文件之后,我清除了目录。
在PHP中:
array_map('unlink', glob("tempfiles/*"));
目录位置为tempfiles的位置。您可以使用'*.jpg‘来删除图像。
https://stackoverflow.com/questions/29828755
复制相似问题