とあるサイトのマルチパートリクエストの使用事例をそのまま使って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ランキング
-
openした後、closeしないでプロ...
-
Perl LINE(チャット) 仕組み
-
アルファベットに付いて質問し...
-
Perlのエラーについてご教授く...
-
ファイルアイコンの左下に緑の□...
-
TeraPadエディターの操作方法に...
-
#!/usr/bin/perlで書きだしたCG...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
-
bashスクリプト
-
perlプログラミング 空白行削除
-
perlでリテラル値はメモリにど...
-
perlで2次元配列をサブルーチ...
-
Perlで時間の計算
-
perlについて
-
perlのrequireの動き方について...
-
perlの構文でカンマの意味が分...
-
perlについての質問
-
perlのプログラミング 部分入れ...
-
ペプシコーラとコカ・コーラとD...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
cgiとplとpm
-
perlのrequireの動き方について...
-
jcode.plが読み込めない
-
Quantifier follows nothing in...
-
require文が実行できない
-
ファイル書込時にPermission de...
-
useとrequireでエラー
-
htmlからテキストを返すperlを...
-
Perlのデバッグ方法って。。。...
-
PDFJが動作しない
-
画像のURLの変数を別のCG...
-
perlのcgiで、変数の中身を表示...
-
perlをインストールしたのに使...
-
CGIの中にinclude
-
gifcat.pl:助言お願い致します
-
phone.plというモジュールを使...
-
Perlの作動不具合、missing bra...
-
プログラムを書き足すことについて
-
Not Found 404エラー時のCGI出力
-
バイナリファイルのアップロード
おすすめ情報