[英]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.