- - PR -
CGIのアップローダー開発
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-04-12 12:29
いつもプログラムにて困った時には大変お世話になっております。
まだまだ勉強不足のWEBプログラマですが 下記の内容に関して少々手こずっております。 宜しければ、皆様のお力をお貸し頂きますようお願い致します。 現在、CGIにて動くアップローダーを作成しているのですが ファイル容量が軽い場合には問題なく処理できるのですが 大容量になると「DNSエラー」が発生し、途中で終了してしまい困っております。 (サーバー側でタイムアウトする) ********************* if(open(OUT,">$UP_FLD/$ITFILE")){ binmode(OUT); binmode($fname); while($rsize = read($fname, $buffer, 1024)){ $fsize=$fsize+$rsize; print OUT $buffer; } close OUT; } ********************* 自分なりにネットにて検索した所、alarm関数を使っての方法などは見つかったのですが 残念ながらサーバーにて導入しているのは「ActivPerl」の為、使用することができません。 なにかタイムアウトしない良い方法はございませんでしょうか。 自分なりに検討している対処法としましては 「サーバーのタイムアウト時間を延長する」を検討しておりますが この場合、別の形での不正行為に関わるのではないかと勘繰っております。 どうか皆様のお力をお貸し頂きますようお願い致します。 |
|
投稿日時: 2007-04-12 12:50
Perlは分からないから読み違いしてるかもしれませんが。
とりあえず、処理に時間がかかってエラーが起きているのか、アップロード自体が出来ていないのか切り分けてみるといいと思いますよ。 (例えば、とりあえず何もしないで、アップロードされたファイル名だけ表示するプログラムを走らせてみるとか。) で、アップロード自体が出来ていない場合は、プログラムではどうしようもなくてサーバの設定の問題になると思います。 |
|
投稿日時: 2007-04-12 13:47
ちなみにASP.NETのファイルアップロードでDNSエラーが発生する場合は
タイムアウトではなく、サーバー設定であるアップロードできる最大サイズを超えた場合です。 ActivPerlでどうやって設定するかは知りませんが。。。 |
|
投稿日時: 2007-04-12 14:28
>冬寂様、burton999様
ご教授頂きましてありがとうございます。 CGIについては場違いでしたでしょうか。 CGIやPerl関連をどこに質問すれば良いのかわからなかった為 スレッドを汚してしまい申し訳ございませんでした。 |
1