とあるサイトのマルチパートリクエストの使用事例をそのまま使って153KB程度のGIFファイルをアップロード実験してみましたら、処理後ブラウザで「cgi-lib.pl: Request to receive too much data: 153345 bytes 」と表示されアップロードされません。表示の意味と、どうすればアップロードできるかを教えてください。
● サンプルHTML
<html>
<head><title>ファイルアップロード</title></head>
<body>
<form method="POST" action="upload.cgi" enctype="multipart/form-data">
<input type="file" name="upload">
<input type="submit" value="送信">
</form>
</body></html>
● サンプルCGI
require "cgi-lib.pl";
&ReadParse;
$upload = $in{"upload"}; # ファイル内容を取得
$name = $incfn{"upload"}; # ファイル名を取得
$name =~ s/\\/\//g; # パス区切り文字を/に変換
$name = substr($name,rindex($name,"/")+1); # ファイル名のみを取得
if($upload ne "" && $name ne ""){
open(FILE,">$name");
binmode(FILE);
print FILE $upload;
close(FILE);
}
No.2ベストアンサー
- 回答日時:
cgi-lib.plは受信するデータのサイズの上限を設定するcgi_lib'maxdataという変数があります。
上記エラーメッセージは
$ENV{'CONTENT_LENGTH'} > cgi_lib'maxdata
となったときに表示されるメッセージです。
テストに使うファイルをサイズの小さいものに変更するか、上限の設定を変更してください。
ちなみにもし設定していなければ、
131072byte
に設定されています。
この回答への補足
わかりました。
kalzeさんの言っていたcgi_lib'maxdataの上限を変更してください・・・という記述で、cgi-libをテキストエディタでこわごわ開いたらどこを直すかすぐに分かりました。
初心者なのでライブラリの記述を書き換えるなんて恐ろしいこと考えたこともなかったです。
こんなことも場合によってはするんですね、いや勉強になりました。
お答えありがとうございます。
>上限の設定を変更してください。
そこのところもう少し詳しく教えていただけないでしょうか・・・よろしくお願いします。
No.1
- 回答日時:
単純に、リクエスト(データ)がサイズオーバーで受け取れなかったということではないのですか?
画像を小さくして送ってみてください。
この回答への補足
わかりました。
#2の方の言っていたcgi_lib'maxdataの上限を変更してください・・・という記述で、cgi-libをテキストエディタで開いたらどこを直すかすぐに分かりました。
初心者なのでライブラリの記述を書き換えるなんて恐ろしいこと考えたこともなかったです。
なるほど・・・英語不得意で、なんとなくそのような事を言っているようには感じたのですが、やっぱりそうでしたか。ところでサイズを上限調整するにはどうしたら良いのでしょうか
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jcode.plが読み込めない
-
セッションファイルが作成でき...
-
CGIの中にinclude
-
6月の第2 第4火曜日は何日...
-
月の第一週とは
-
今週とは何曜日から何曜日まで...
-
HTTPヘッダの大きさ
-
エクセルで毎月第2週日の水曜日...
-
よくある 『 第○(1・2・3・4・...
-
毎○曜日って、使いますか?
-
アンケートなどの1日1回の投...
-
VBでcgiを動作させるには
-
土曜日の26時って何曜日の何時...
-
VBA。複数のChangeイベントをま...
-
曜日を求めるプログラムはどう...
-
カレンダープログラム、曜日の...
-
燃えるゴミの日は何曜日ですか?
-
for a week tomorrowはどういう...
-
レスポンスヘッダの出力方法
-
日付から曜日を求めたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
perlのrequireの動き方について...
-
Quantifier follows nothing in...
-
jcode.plが読み込めない
-
htmlからテキストを返すperlを...
-
cgiとplとpm
-
requireでreturnを使いたいので...
-
Perlソースを2つのファイルに分...
-
htmlファイルへのcgiの組み込み...
-
use CGI
-
セッションファイルが作成でき...
-
バイナリファイルのアップロード
-
useとrequireでエラー
-
error_logファイルの中身で教え...
-
cgiからcgiをコールする。
-
webからroot権限のコマンドを実...
-
apacheのCGI設定について教えて...
-
自CGIのURLのパス部分を取得す...
-
Location: で cgi → c...
-
Perlccを使ったCGIプログラムの...
-
perlのcgiで、変数の中身を表示...
おすすめ情報