与之前清除日志不同,系统有些临时文件如图片文件,考虑到每天的量会比较多,而且图片大小比日志文件大,清除的时间间隔应该更短。
$curtime = TIMESTAMP;
/*清除图片缓存*/
//清除临时图片
$dir = getUploadDir('temp');
$return = scandir($dir);
foreach ($return as $k => $v) {
if ($v == '.' || $v == '..' || $v == 'index.html') {
continue;
}
$path = $dir . "/" . $v;
if (!is_dir($path)) {
unlink($path);
} else {
$rows = scandir($path);
foreach ($rows as $kk => $vv) {
if ($vv == '.' || $vv == '..') {
continue;
}
$file = $path . "/" . $vv;
if (is_file($file)) {
unlink($file);
}
}
if (count(scandir($path)) == 2) {
//目录为空,=2是因为.和..存在
rmdir($path); // 删除空目录
}
}
}
分二级目录存储,以标记和年月日作为目录存储文件。因此删除完指定目录文件之后要判断是否是空目录,一并删除。