ディレクトリに複数の(アーカイブされた)バックアップファイルがあります。 "backup-"で始まるファイル名。すべてのファイルを削除しますが、最新のファイルを保持します
私は7日と言いますが、それより古いファイルはすべて削除したいのですが、常に最新のファイルが1つ残っている必要があります。それ以外の場合は、バックアップファイルはもうありません。
私は7日以上経過したすべてのファイルを削除するソースコードを持っています(下記参照)。ただし、最新のファイルを常にディレクトリに保存する方法はありますか?したがって、残った人は7日以上経過している可能性があります(それが最新の場合)。
$bu_days=7;
$files="backup*.tar.gz";
foreach(glob($filter) as $fd) {
if(is_file($fd) && time() - filemtime($fd) >= $bu_days*24*60*60) {unlink($fd);}
}
ちょうどあなたのファイルをカウントし、破ります。 1ファイルが残っているときforeach? – Thomas
何かを削除する前にいくつかのテストを行う必要があります。 – RST
あなたの質問が解決された場合は、(あなたの質問のタイトルに「解決」を追加するのではなく)解決策として適切な回答をマークしてください。 –