我已经使用了一个功能来删除某个文件夹中的所有文件和文件夹。
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 函数“文件时间”,我相信它给出了文件/文件夹的年龄,但我不知道如何删除超过“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 - 如何删除超过特定时间的文件/文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7573967/