【发布时间】:2019-02-23 22:51:10
【问题描述】:
我在一个目录中有几个(存档的)备份文件;以“backup-”开头的文件名。
我想删除所有早于 7 天的文件,但应该总是留下一个文件(最新的),否则我没有备份文件了。
我有源代码(见下文),它将删除所有超过 7 天的文件,但如何始终将最新文件保留在目录中?因此,剩下的可能超过 7 天(如果是最新的)。
$bu_days=7;
$files="backup*.tar.gz";
foreach(glob($filter) as $fd) {
if(is_file($fd) && time() - filemtime($fd) >= $bu_days*24*60*60) {unlink($fd);}
}
【问题讨论】:
-
数数你的文件然后破解;只剩下 1 个文件时的 foreach ?
-
您必须在删除任何内容之前进行一些测试。
标签: php delete-file