1

私は作成中のイベント マネージャーを持っています。イベントを表示するファイルがありview.phpます。ただし、過去の日付を持つイベントを削除する必要があります。

これはフラット ファイルであるため、日付はフォルダーにファイル名として保存されますdata。それらの名前は日付になります。たとえば"data/Monday, 21 February, 2011.html"、その日付になります。過去のイベント (ファイル) を削除する方法について何か考えがある人はいますか?

前もって感謝します。

4

2 に答える 2

2

または、テキスト形式ではなく数値のタイムスタンプを保存することをお勧めします。次に、次のような方法で必要なファイルを削除できます。

$dir = new DirectoryIterator('/path/to/your/files');
foreach($dir as $file) {
    ... extract timestamp from each file ...
    ... if it's less than your cutoff, delete file ...
}

これにより、ファイル名の日付部分を毎回 datetime 値に解析する手間が省け、単純な数値比較になります。

于 2011-01-27T18:26:18.320 に答える
1

この命名スキームで背中のロッドを作成しました (可能な限りスペースを含むファイルを使用することも一般的に悪い習慣です) が、問題ではありません。

あなたがする必要があるのは:

  1. scandirなどを使用してターゲット ディレクトリをスキャンします。(ディレクトリの内容によっては、globの方が適している場合があります。)

  2. str_replaceを使用して「.html」部分を削除した後、strtotimeを介して有効な (つまり、「.」または「..」ではない) html ファイル名をタイムスタンプに変換します。

  3. ファイルが過去のものである場合は、ファイルのリンクを解除します。

于 2011-01-27T18:27:57.010 に答える