如何删除超过特定时间的文件/文件夹
问题描述:
我已经使用某个功能删除某个文件夹内的所有文件和文件夹。如何删除超过特定时间的文件/文件夹
function rrmdir($dir) {
if (is_dir($dir)) {
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != "." && $object != "..") {
if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object);
}
}
reset($objects);
rmdir($dir);
}
}
我现在想要做的是:使该功能适应只删除超过60分钟(例如)的文件和文件夹。
有一个php函数'filetime',我相信它给出文件/文件夹的年龄,但我不知道如何删除特定的文件比“x”分钟更早。
答
此结构将删除的文件使用filemtime()
功能超过60分钟(3600秒):
if (filemtime($object) < time() - 3600) {
// Remove empty directories...
if (is_dir($object)) rmdir($object);
// Or delete files...
else unlink($object);
}
注意,对于rmdir()
工作,该目录必须是空的。
可能的重复[如何从基于创建日期在php中删除目录中的文件?](http://*.com/questions/2205738/how-to-delete-files-from-directory-based-on-创建日期功能于PHP) – Gordon