KENT-WEB サポートコーナー 過去ログ [ 0084 ]


記事No: 4803
投稿日: 2008/11/04(Tue) 18:03:11
タイトルWeb Patio 過去ログ画像の自動削除
ID情報: sanken
投稿者: サンケン
URLhttp://homedoctor-sanken.com/sanken-info/database.cgi

はじめまして。
Web Patioをダウンロードさせていただき、設置テストをしていたのですが、過去ログの最大スレッド数を1や2と設定してテストをしていた所、記事は順番に削除されるのですが、画像がuplフォルダに残ったままとなってしまいます。

サーバー容量の関係で、過去ログの記事が削除される場合は、同時に画像も削除されるとよいのですが、もしかしたらこちらの設定上の問題でしょうか?uplフォルダのパーミッションを一通り変えてみましたが、どうしても画像が残ってしまいます。

本当は過去ログ自体も不要なのですが、$p_max = 0; $p_max = ;(エラー)としても過去ログ機能は動作してしまうようです。

過去ログの画像の削除については、管理画面から「スレ削除」をした場合は、ちゃんと記事と共に画像も削除されます。

良い方法がありましたら、どうかアドバイスを宜しくお願い致します。


記事No: 4804
投稿日: 2008/11/05(Wed) 16:50:36
タイトルRe: Web Patio 過去ログ画像の自動削除
ID情報: kent
投稿者: KENT

> はじめまして。
> Web Patioをダウンロードさせていただき、設置テストをしていたのですが、過去ログの最大スレッド数を1や2と設定してテストをしていた所、記事は順番に削除されるのですが、画像がuplフォルダに残ったままとなってしまいます。

本当ですね。
regist.cgi 152行目を以下のとおり修正してみてください。

# 過去index更新
if (@tmp > 0) {
$i = @tmp;
open(DAT,"+< $pastfile") || &error("Open Error: $pastfile");
eval "flock(DAT, 2);";
while(<DAT>) {
$i++;
if ($i > $p_max) {
local($delno) = split(/<>/);

open(IN,"$logdir/$delno.cgi");
my $top = <IN>;
my $log = <IN>;
close(IN);

local($no,$sub,$nam,$eml,$com,$dat,$ho,$pw,$url,$mvw,$myid,$tim,$upl{1},$upl{2},$upl{3}) = split(/<>/, $log);
foreach $i (1 .. 3) {
my ($ex,$w,$h) = split(/,/, $upl{$i});

if ($ex) { unlink("$upldir/$tim-$i$ex"); }
}

unlink("$logdir/$delno.cgi");
unlink("$logdir/$delno.dat");
next;
}
push(@tmp,$_);
}
seek(DAT, 0, 0);
print DAT @tmp;
truncate(DAT, tell(DAT));
close(DAT);
}


記事No: 4805
投稿日: 2008/11/05(Wed) 18:42:43
タイトルRe^2: Web Patio 過去ログ画像の自動削除
ID情報: sanken
投稿者: サンケン
URLhttp://homedoctor-sanken.com/sanken-info/database.cgi

KENTさんこんにちわ。
長年に渡って便利なプログラムの公開、ありがとうございます。

早速試してみた所、正常に削除されるようになりました。
早急にご返信いただきまして、ありがとうございました。
今後も新作を楽しみにしています。m(_ _)m


[検索ページ]