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


記事No: 6217
投稿日: 2009/07/30(Thu) 11:15:32
タイトルClipMailのtemp一時ファイルについて
ID情報: shin55
投稿者: shin
URLhttp://www.yahooo.co.jp

お世話になっております。
現在製作中のサイトにて、ClipMail(ver 1.1)を試用させて頂いております。

ClipMailのtemp一時ファイルについてご質問させて下さい。

フォームより添付ファイルを添付して確認画面に移動した際、
サーバ上のtempフォルダ内に添付ファイルの一時ファイルが作成されますが、
確認画面より「前画面にもどる」でフォームに戻った場合、
その一時ファイルは削除されずに残ります。
その後、再度フォームより添付ファイルを添付して確認画面に移動した際には、
先ほどと別の名前でtempフォルダ内に一時ファイルが作成されてしまいます。

送信時には送信した一時ファイルを削除しているのですが、
確認画面まで行った時に作られた一時ファイルはずっと残ってしまうのではないのでしょうか?

この問題に対する対応方法などがございましたら、
どなたかご教授お願い致します。


記事No: 6218
投稿日: 2009/07/30(Thu) 11:55:44
タイトルRe: ClipMailのtemp一時ファイルについて
ID情報: pachira
投稿者: pachira
URLhttp://www5e.biglobe.ne.jp/~pachira/

> 確認画面まで行った時に作られた一時ファイルはずっと残ってしまうのではないのでしょうか?

永久に残る事はなさそうですね。
3時間以上前の一時ファイルがあれば削除するようです。
(3時間の根拠は分かりませんが^^;)

# 今、テストできる状態ではないので推測&保証無しですが、3*3600を0にすれば添付ファイルを入れ替えても残らないかも知れません。

■preview.pl/line154
#-------------------------------------------------
# 一時ディレクトリ掃除
#-------------------------------------------------
sub clean_dir {
# 一時ディレクトリ内読み取り
opendir(DIR,"$tmpdir");
my @dir = readdir(DIR);
closedir(DIR);

foreach (@dir) {
# 対象外はスキップ
next if ($_ eq '.');
next if ($_ eq '..');
next if ($_ eq 'index.html');

# ファイル時間取得
my $mtime = (stat("$tmpdir/$_"))[9];

# 3時間以上経過しているファイルは削除
if (time - $mtime > 3*3600) {
unlink("$tmpdir/$_");
}
}
}


記事No: 6219
投稿日: 2009/07/30(Thu) 12:02:48
タイトルRe^2: ClipMailのtemp一時ファイルについて
ID情報: shin55
投稿者: shin
URLhttp://www.yahooo.co.jp

pachiraさん、ご返信ありがとうございます。

> 永久に残る事はなさそうですね。
> 起動時に3時間以上前の一時ファイルがあれば削除するようです。
> (3時間の根拠は分かりませんが^^;)
>
> # 今、テストできる状態ではないので推測&保証無しですが、3*3600を0にすれば添付ファイルを入れ替えても残らないかも知れません。

3時間で削除されることに気づいていませんでした…。すみませんでした。
0にした場合、同時にフォームを利用しているユーザのファイルまで削除してしまう可能性もあるので現行のまま使ってみようと思います。

助かりました。ご解答ありがとうございました。


[検索ページ]