我寫了一個MySQL數據庫備份腳本,用於將備份文件存儲在遠程FTP服務器中。它在根目錄中創建一些文件夾,以數據庫名稱命名,然後在每個文件夾中創建一些以當前日期命名的文件夾(格式:yyyy-mm-dd),並且這些文件夾上傳按確切時間命名的備份文件。刪除舊的遠程FTP文件夾
我還需要刪除舊的二級文件夾(它是按日期命名的);我的意思是4天以上的文件夾。這是我遇到的問題。我用ftp_nlist嘗試了一些代碼,我可以用它列出文件夾,我也用ftp_mdtm來獲取創建日期並將其與過期日期進行比較。但結果並不好。這裏是我的代碼:
...
$skip = array('.', '..', '.ftpquota', '.htaccess');
$expire_date = date('Y-m-d', strtotime('-4 days', time()));
$ff_list = ftp_nlist($con, $db_dir);
foreach($ff_list as $item)
{
if(in_array($item, $skip))
{
continue;
}
$mod_time = ftp_mdtm($con, $item);
if(strtotime($expire_date) >= $mod_time)
{
ftp_rmdir($con, $item);
}
}
...
請參加我需要與他們所有的內容來刪除舊文件夾,所以我需要合適remove命令(我不知道是否ftp_rmdir正常工作)。
我還可以檢查每個文件夾的名稱,並採取日數則與當今數字比較。這是因爲文件夾名稱是保存日期(yyyy-mm-dd),但我更喜歡做類似上面的事情。我更喜歡不指望文件夾名稱。 –