ここにサイトがあります。
このページの仕組みは素晴らしいです。すべてのフィールドに入力し、ドキュメントを添付して [送信] をクリックすると、メールが送信されます。
ここに JSFiddle があります。
<td style="font-size: 22px; font-weight: bold; text-align: center;">Forms <br />you <br />want to <br />attach:</td>
<td style="padding-left: 20px;">
<input name="fileAttach[]" type="file" class="multi"><br><br>
</td>
ただし、ここに別のページを設定しました。これは私が本当に欲しいものです。
しかし、各チェックボックスの後ろに、事前定義されたドキュメントが必要です。ある種の添付ファイル。
ロジックは次のように機能します...
- 「宛先」ボックスと「件名」が記入されます。
- 必要なチェックボックスがオンになっています。
- 「送信」を押すと、メールがオフになります。
このための JSFiddle がここにあります。
これがそのコードの一部です...
</div><!-- Close Form Header -->
<div class="form-column"><!-- Column -->
<div class="form-label">Financial Aid Forms</div><!-- Label -->
<div class="form-content"><!-- Content -->
<ul>
<li><input name="fileAttach[]" type="checkbox" class="multi">Finance Form 1</li><br />
</ul>
</div>
チェック ボックスの背後にあるドキュメントを構成する方法がわかりません。ドキュメントをサーバーから取得したいだけです。
JSFiddle に PHP ファイルを含める方法がわからないので、添付ファイルに関連する部分をここに投稿します。
<?
$strTo = $_POST["txtTo"];
$strSubject = $_POST["txtSubject"];
$strMessage = nl2br($_POST["txtDescription"]);
//*** Uniq id Session ***//
$strSid = md5(uniqid(time()));
$strHeader = "";
$strHeader .= "From: ".$_POST["South University"]."<".$_POST["txtFormEmail"].">\nReply-To: ".$_POST["txtFormEmail"]."";
$strHeader .= "MIME-Version: 1.0\n";
$strHeader .= "Content-Type: multipart/mixed; boundary=\"".$strSid."\"\n\n";
$strHeader .= "This is a multi-part message in MIME format.\n";
$strHeader .= "--".$strSid."\n";
$strHeader .= "Content-type: text/html; charset=utf-8\n";
$strHeader .= "Content-Transfer-Encoding: 7bit\n\n";
$strHeader .= $strMessage."\n\n";
//*** Attachment ***//
for($i=0;$i<count($_FILES["fileAttach"]["name"]);$i++)
{
if($_FILES["fileAttach"]["name"][$i] != "")
{
$strFilesName = $_FILES["fileAttach"]["name"][$i];
$strContent = chunk_split(base64_encode(file_get_contents($_FILES["fileAttach"]["tmp_name"][$i])));
$strHeader .= "--".$strSid."\n";
$strHeader .= "Content-Type: application/octet-stream; name=\"".$strFilesName."\"\n";
$strHeader .= "Content-Transfer-Encoding: base64\n";
$strHeader .= "Content-Disposition: attachment; filename=\"".$strFilesName."\"\n\n";
$strHeader .= $strContent."\n\n";
}
}
$flgSend = @mail($strTo,$strSubject,null,$strHeader); // @ = No Show Error //
if($flgSend)
{
echo "Mail send completed.";
}
else
{
echo "Cannot send mail.";
}
?>
または、もっと簡単にできる方法があれば教えてください。上記と同じ機能を引き続き維持したいと考えています。