我正在使用从图像目录自动生成照片库的PHP图库。
http://davidwalsh.name/generate-photo-gallery
我将修改脚本以添加在用户定义的时间间隔(例如 12 或 24 小时)后清除拇指文件夹中所有缩略图的功能。
就个人而言,我不会将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);
?>
使用目录迭代器 - 我的个人偏好
<?php
foreach (new DirectoryIterator("thumbnailsfolder") as $fileInfo) {
if ($fileInfo->isDot()) {
continue;
}
if (time() - $fileInfo->getCTime() >= 1*24*60*60) {
unlink($fileInfo->getRealPath());
}
}
?>
示例取自 在 PhP 中删除所有超过 2 天的文件的正确方法
如果您尝试定期清除旧文件,最好使用cron
作业。
做了类似的事情,在用户下载或查看文件后,我清除了目录。
在 PHP 中:
array_map('unlink', glob("tempfiles/*"));
其中目录位置为临时文件。 您可以使用"*.jpg"仅删除图像。