プロが教える店舗&オフィスのセキュリティ対策術

フォームからアップロードされてきた画像ファイルを、適当なファイル名を付けてJPGあるいはGIFの拡張子で保存し、HTMLファイルで保存した画像を一覧表示させようというCGIスクリプトを作りたいと考えています。

<FORM action="xxxx.cgi" method="post" enctype="multipart/form-data">
<INPUT type="file" name="gazo">
<INPUT type="submit">
</FORM>
とこんな具合のフォームから画像ファイル(JPGやGIF)をアップロードした時、
受け手のxxxx.cgiでは、この画像ファイルのデータをどのように受けたらよいのでしょうか?

cgi-lib.plを読み込んで、$in{'gazo'}
というような形で画像ファイルのデータを受け取ればよいのでしょうか?

A 回答 (1件)

CGIにもいろいろ言語がありますけど、cgi-lib.plを使うなら、perlで以下のようなスクリプトになります。



require './cgi-lib.pl';# directoryは実情に合わせる
### 送信量全体でのmax size 制限があるので注意、必要なら書き換える。
# $cgi_lib'maxdata = 131072; # maximum bytes to accept via POST - 2^17

$ndata = 'gazo';# input type="file" のname属性値
if(&MethPost){ # $ENV{'REQUEST_METHOD'} eq "POST" の真理値
&ReadParse(); ### cgi-lib.pl の関数 multipart/form ok
### %in=data; %incfn=filename; %inct=filetype
$ftype = $inct{$ndata};
$fname = $incfn{$ndata};
$fdata = $in{$ndata};
### あとは適切なファイル名で$fdata を書き込む
### ファイルタイプや、ファイル名が適切か、重複チェックなども適宜行うこと
}
    • good
    • 0
この回答へのお礼

お返事有難う御座います、とても参考になりました。

お礼日時:2007/07/26 01:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!