У меня есть несколько (заархивированных) файлов резервных копий в каталоге; имена файлов, начинающиеся с «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);}
}