
PHPで作成したフォームに複数の画像及びドキュメントファイル(.doc)を添付してメールにて送信させたいのですが、どのようにすればよいでしょうか?
入力欄又は選択欄のみのPHPフォームなら作成したことがあるのですが、ファイルを添付させるやり方がわかりません。
以下に何が分からないか詳細を説明します。
1)フォームの添付ファイル入力欄にはどのようなものを使用すればよいのでしょうか?<input type="file">などのような気はしますが、これで複数のファイルを選択できるのでしょうか?また、一つのフォームに添付ファイル入力欄を複数設置することは可能なのでしょうか?複数設置することができるとした場合、それらの入力欄で選択されたファイルをメールに添付したとき、一つのメール内で入力欄(フォームの)ごとに添付ファイルを区分けする方法はあるのでしょうか?
2)フォームの添付ファイル入力欄で選択したファイルデータをphpファイル間でどのように受け渡すのでしょうか?
通常の<input type="hidden" name="example" value="<?php echo $example ?>">(データの受け渡し)と$package = trim($_POST["example"]);(データの受取)の組み合わせでよいのでしょうか?
3)添付ファイルが選択されているかどうかのチェキングは、どのようなコードを使用するのでしょうか?また、gif、jpg、docファイルのうち、どの拡張子のファイルが幾つ添付されているかの値も知りたいのですが。
4)添付ファイルデータを電子メールで送信する関数は、どのようなものになるのでしょうか?現在は、mail($to, mb_encode_mimeheader($subject,"JIS","B"), mb_convert_encoding($content,"JIS"), "From:$email")を使用しています。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
1)
<input type="file">しか方法がないですね。
Flashを使うという手法もあります。
複数のファイル選択は<input type="file">を複数書くかFlashを利用することになります。
一つのメール内で入力欄ごとに添付ファイルを区分けするのは、メールフォーマットを正しく行うことで可能です。
というか、区分けしないと送信できません。
2)
確認画面などをはさむ場合、実際のファイルデータは最初のフォーム送信時にファイルとしてサーバー上に保存します。
その後ページを移動する必要がある場合はセッション情報やファイル名の情報などを送ることになると思います。
FORMにセッションIDやファイル名などを送るだけで良いと思います。
ファイルの生データを送り続ける手法は見たことがありません。
3)添付ファイルが選択されているかどうかは、ファイル情報が送られているかどうかを見たり、ファイルを送るFlagを立てておけば良いのではないかと思います。
ファイルの種類のカウントはロジック上でカウントすればいいのではないでしょうか。
4)添付ファイルデータを電子メールで送信する場合、特に関数は選びません。
pearのMail.phpなどを使うと簡単かも知れません。
参考URLに書いておきます。
参考URL:http://it.cardinals-fan.com/archives/1
mizuno3さん
ご回答、ありがとうございました。
頑張ったのですが、私が初心者のため理解できませんでした。
一旦、掲示板を移動します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Outlook VBAについて 1 2023/07/10 12:41
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
- その他(Microsoft Office) officeのWordで作成した文章をメール添付してしたい 3 2023/08/07 07:12
- PHP 掲示板を作成しておりアップロードファイルとメッセージを並べたいので、アドバイスお願い致します 2 2023/07/17 21:01
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- Visual Basic(VBA) excelにて、特定の列に数字入力してあれば、入力してある行コピーして 別ファイルに張り付ける 2 2022/08/11 05:33
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- Excel(エクセル) Excelでデータを抽出するに良い方法 9 2023/02/06 12:42
- PHP アップロードファイルの数に応じてCSSを動的に変更したいのですが、方法がわかりません 3 2023/07/23 21:59
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel】[Expression.Error] ...
-
共有フォルダに誰が何にアクセ...
-
社内Excel共有ブックでの保存ト...
-
AccessVBAで作成したExcelファ...
-
特定のエクセルファイルを起動...
-
outlookの整理されたメールはど...
-
CSV出力
-
VB.NETでDBへ再度接続したいの...
-
Batch: フォルダ内の特定のファ...
-
excelを共有ファイルにすると行...
-
Access VBA を利用して、フォル...
-
ACCESSでカラオケ選曲、演奏方...
-
相手のPCにVBAからメッセ...
-
ACCESS リンクテーブルのEXCEL...
-
エクセル CSVについて
-
Smartyのテンプレート
-
エクセルについての質問
-
mdbファイル フォームを開くと...
-
事務の派遣で働いています。多...
-
Dream weaverで、誤ってファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel】[Expression.Error] ...
-
共有フォルダに誰が何にアクセ...
-
Batch: フォルダ内の特定のファ...
-
特定のエクセルファイルを起動...
-
VBAでCSVファイルが使用中かど...
-
社内Excel共有ブックでの保存ト...
-
Access VBA を利用して、フォル...
-
(Excelマクロ)datファイルをエ...
-
AccessVBAで作成したExcelファ...
-
事務の派遣で働いています。多...
-
excelを共有ファイルにすると行...
-
【アクセス】「ほかのユーザー...
-
拡張子が「cda」のファイルを聞...
-
月が変わったら自動でシートが...
-
Excel VBA 処理後データが重た...
-
WEBクエリが使えない場合のHPデ...
-
access関数を説明できる方いま...
-
ファイルの途中に文字列を挿入
-
特定のフォルダに入れたファイ...
-
tmpファイル なぜできる?削除...
おすすめ情報