※ ChatGPTを利用し、要約された質問です(原文:フォームからアップロードされた画像ファイルの処理)
フォームからアップロードされてきた画像ファイルを、適当なファイル名を付けてJPGあるいはGIFの拡張子で保存し、HTMLファイルで保存した画像を一覧表示させようというCGIスクリプトを作りたいと考えています。
質問1
<FORM action="xxxx.cgi" method="post" enctype="multipart/form-data">
<INPUT type="file" name="gazo">
<INPUT type="submit">
</FORM>
とこんな具合のフォームから画像ファイル(JPGやGIF)をアップロードした時、
受け手のxxxx.cgiでは、この画像ファイルのデータをどのように受けたらよいのでしょうか?
read(STDIN,$_,$ENV{'CONTENT_LENGTH'});としたり、
あるいは
cgi-lib.plを読み込んで、$in{'gazo'}
というような形で画像ファイルのデータを受け取ればよいのでしょうか?
質問2
画像ファイルを受け取ったとして、フォームから送られてきた画像ファイルがJPGなのかGIFなのかを判別することは可能でしょうか?
可能ならば、判別するためのスクリプトはどんなものが考えられるでしょうか?
(フォームから送られてくる画像ファイルのデータの何をチェックすれば、JPGかGIFかを判別できるのでしょうか?)
もしご回答頂ける方がおられればご教授ください。よろしくお願いします。
なお、「既存のスクリプトを利用しなさい」というような回答やアドバイスならば不要でございます。
お礼
ご回答いただき、とても感謝しております。有難うございます。 早速試して、ほぼ疑問を解決することができました。 Macintoshで作成されたデータのことまで解説していただき、 またひとつ勉強になりました。