簡體   English   中英

如何使用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);

為什么要努力使用PHP? 查找命令和cron會解決問題的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM