简单的PHP删除所有文件除了最后3天 -

Rya*_*yan 3 php ftp

有一个FTP用户和一个DIR:/ home/user/public_html/backups /

每天03:00一个带有日期的文件夹,在该文件夹中,将通过FTP自动添加3,5GB的文件.现在如果有将被添加3,5GB每天在地图上的备份,这将是49GB的14天.

大约14天我将拥有这个文件夹结构:

2015-12-18
2015-12-17
2015-12-16
2015-12-15
2015-12-14
2015-12-13
2015-12-13
2015-12-12
2015-12-11
2015-12-10
2015-12-09
2015-12-08
Run Code Online (Sandbox Code Playgroud)

所以我想为此制作一个cronjob脚本,00:00u a .php的每个星期日晚上都会用cronjob自动执行.

示例:2015-12-18将执行.php脚本,并删除除最后3个添加的文件夹之外的所有文件夹:2015-12-18 - 2015-12-17 - 2015-12-16

.php脚本将删除所有文件EXPECT地图备份中最后3个添加的文件夹/文件

这个位于.PHP吗?是的,是否有人为我提供了示例脚本?或者可以通过更好的解决方案来完成?

Did*_*olo 6

就这个.使用glob填充所有目录的数组,切片数组以删除最后3个项目,然后删除其他项目.

$files = glob('/tmp/*', GLOB_ONLYDIR);

$deletions = array_slice($files, 0, count($files) - 3);

foreach($deletions as $to_delete) {
    array_map('unlink', glob("$to_delete/*.*"));
    $deleted = rmdir($to_delete);
}
Run Code Online (Sandbox Code Playgroud)

  • 哇谢谢!我要试试PHP版:) (2认同)