こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

添付ファイル Perl メール

いつもお世話になっております。

タイトルについて教えてください。
ホームページにてお問い合わせフォームを作成しましたが

画像(添付ファイル)も送れるようにしたいのですが、どのようにすればいいのでしょうか?

HTMLの方は下記で十分なのでしょうか?
<input type="file" name="添付ファイル"><br>

そこからPerlでのコードはCGI.pmのみでいけるのでしょうか?

例えば、
添付ファイルといってもあまり容量が大きすぎると、サーバー側に負担がかかってしまうため
??メガまでといった設定や、拡張子(jpg,png,gif,pdf,xlex,xlem)などといった拡張子指定
といった機能もほしいところです。

どうかお力添えをお願い致します。

補足 ~メガや拡張子はjavascriptでもいいのかな・・・?

投稿日時 - 2017-01-07 15:12:21

QNo.9278126

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

1、メガや拡張子はjavascriptでもいいのかな・・・?
  だめです。javascriptはユーザー側で動くものなので動作させずにスルーすることも可能です。また拡張子も簡単に偽装できます。サーバサイドでデータを受け取った後にサイズや、それが本当に画像ファイルであるかを拡張子に頼らずチェックする必要があります。

2,HTMLの記述
  form タグに enctype='multipart/form-data' の記述が必要でしょう。

ご質問から察するに、メールの構造がどうなっているのか、受け取ったファイルをどう画像と判断するのか、等々学ぶことはたくさんあるような気がします。頑張ってください!

投稿日時 - 2017-01-08 07:36:11

ANo.2

次のページがCGI.pmの初学者向けに比較的易しく説明しています。

http://kimurashuuichi.com/perl/mailmagazinebacknumber/22.html

ただし、ファイルアップロードのPerlスクリプトを初めて作るのでしたら、正しく動作するまでスムーズには行きませんよ。
日本語ファイル名の場合どうするか?とかサーバ側のパーミッション設定等、さまざまなところで躓くと思います。
がんばってください。

投稿日時 - 2017-01-07 19:17:43

ANo.1

>>画像(添付ファイル)も送れるようにしたいのですが、どのようにすればいいのでしょうか?

画像(添付ファイル)を受け取るコードをサーバ側に作成してください。

>>そこからPerlでのコードはCGI.pmのみでいけるのでしょうか?

クライアント側で添付ファイルを送った後、サーバ側の動作がどうなるか理解されていますか?
それが理解できていれば、それだけでいけるかどうかお分かりのはずです。

さしあたり、タダで入手できるネットの情報に頼らず、Perl関連の本(専門書)を書店で購入されて勉強することをお勧めします。

投稿日時 - 2017-01-07 15:27:42