![](/img/trans.png)
[英]How to delete the old files from a directory if a condition is true in PHP?
[英]how to delete old files in a directory using php
我有一个用于数据库备份的目录,还有一个PHP脚本,它每天都会备份数据库。 但是一个月左右后,我将在备份目录中保存30个文件。 如何编写一个PHP脚本,每天删除旧的备份文件,以便目录中始终有10个备份文件? 当存储新备份时,最早的备份文件将被删除,依此类推...
您可以读取backups目录并删除30天之前的每个文件。 但是,我个人动态创建文件,每个文件都具有以下格式:
database_dump_DD-MM-YYYY_HH:MM:SS.sql
因此,我可以考虑文件名删除文件。 由于我不知道文件的格式,因此可以这样删除它们:
$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
}
}
使用PHP备份进行备份后,您将遍历目录,然后删除最早的备份文件:
$files = glob('backupfolder/*.bak');
if(count($files) > 10)
foreach($files as $file)
if(time() - filectime($file) > 10 * 24 * 60 * 60)
unlink($file);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.