首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用php删除目录中的旧文件

如何使用php删除目录中的旧文件
EN

Stack Overflow用户
提问于 2012-09-22 18:18:52
回答 3查看 1.7K关注 0票数 2

我有一个用于数据库备份的目录,以及一个每天对数据库进行备份的PHP脚本。但是大约一个月后,我将在备份目录中有30个文件。我如何编写一个PHP脚本,每天删除旧的备份文件,使我的目录中始终有10个备份文件?当存储新的备份时,最旧的备份文件将被删除,依此类推...

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-09-22 18:20:21

使用PHP备份进行备份后,循环遍历目录,然后删除最旧的备份文件:

代码语言:javascript
复制
$files = glob('backupfolder/*.bak');
if(count($files) > 10)
  foreach($files as $file)
    if(time() - filectime($file) > 10 * 24 * 60 * 60)
      unlink($file);
票数 2
EN

Stack Overflow用户

发布于 2012-09-22 19:06:11

您可以读取备份目录并删除超过30天的所有文件。但是,我自己动态创建文件,每个文件都有这样的格式:

database_dump_DD-MM-YYYY_HH:MM:SS.sql

这样我就可以删除考虑到文件名的文件。因为我不知道你的文件是什么格式,你可以这样删除它们:

代码语言:javascript
复制
$files = readdir(opendir('backups')); //read directory for files

foreach($files as $file){
    if(filemtime($file) > (time() + 2592000)){ //check if the file is older than 30 days
        unlink($file); //delete
    }
}
票数 3
EN

Stack Overflow用户

发布于 2012-09-22 18:47:00

为什么要费力地使用PHP呢?使用find命令和cron就可以了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12542912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档