CGI-BBS > 電子掲示板 > その他 > タイムスタンプを参照してファイルを削除できないでしょうか?


カレッヂ
カレッヂ


質問者 瀧の実  投稿日 5/6(日) 15:52:19
現在、perlを少しずつ勉強してます。
わからないことが出てきましたので出来ましたらアドバイスなどおねがいします。

投稿された記事のぶんだけ新しいログファイルを作るBBSのようなものを作ってみました。
このままでは手動で削除しない限りどんどんファイル数が増えていってしまいます。
そこでファイルのタイムスタンプを参照して1週間程度たった古いファイルを自動削除する方法をさがしているのですがないでしょうか?
回答者 しあわせのツボ  [削除]  投稿日 5/6(日) 23:55:06
MiniBBS-Exに以下のような部分があります。
これを参考にしてみてはいかがでしょうか。

sub temp_remove {

$check = (eval { opendir(DIR,$tmp_dir); }, $@ eq "");
if (!$check) { &error("システムエラー",0,"ファイル取得ができません."); }

@list = readdir(DIR);

foreach $file (@list) {

        next if -d $file;
        if (-M "$tmp_dir$file" > 0.25) { unlink "$tmp_dir$file"; } # 6時間経過の作業ファイルを削除
}
close(DIR);

}#getdir
質問者 瀧の実  [削除]  投稿日 5/7(月) 11:02:26
おかげさまで思惑通りのものが作れました。
ありがとうございました。

このページは終了したので返信(回答)は書きこめません

Web裏技