リモート FTP サーバーにバックアップ ファイルを保存する MySQL データベース バックアップ スクリプトを作成しました。データベース名で名前が付けられたルートにいくつかのフォルダーを作成し、それぞれに現在の日付 (形式: yyyy-mm-dd) で名前が付けられたいくつかのフォルダーを作成し、これらのフォルダーに正確な時刻で名前が付けられたバックアップ ファイルをアップロードします。
古い第 2 レベルのフォルダー (日付で名前が付けられている) も削除する必要があります。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);
}
}
...
参加してください古いフォルダとその内容をすべて削除する必要があるため、適切な削除コマンドが必要です (ftp_rmdir が適切に機能するかどうかはわかりません)。