0
次のループを使用して複数の添付ファイルをメールに送信しています。JavaScript関数で追加された添付ファイルは送信されません
foreach(array_keys($_FILES['attachment']['name']) as $key) {
$source = $_FILES['attachment']['tmp_name'][$key];
$filename = $_FILES['attachment']['name'][$key]; // original filename from the client
$mail->AddAttachment($source, $filename);
}
私が作成した最初の添付ファイルのみが送信されます。
フォームコードが別のファイル、別のファイルアップロードボタンを取り付け上のワンクリックではJavaScript機能により、示され
<form method="POST" action="<?php $PHP_SELF ?>" enctype="multipart/form-data">
<input type="file" name="attachment[]" id="attachment" size="30"
onchange="document.getElementById('moreUploadsLink').style.display = 'block';" />
<div id="moreUploads"></div>
<div id="moreUploadsLink" style="display:none;">
<a href="javascript:addFileInput();">Attach another File</a></div>
<input name="submit" type="submit" value="submit" />
</form>
です:
<script type="text/javascript">
var upload_number = 1;
var attachmentlimit = 5;
function addFileInput() {
var d = document.createElement("div");
var file = document.createElement("input");
file.setAttribute("type", "file");
file.setAttribute("name", "attachment"+upload_number);
d.appendChild(file);
document.getElementById("moreUploads").appendChild(d);
upload_number++;
if(upload_number == attachmentlimit) {
document.getElementById('moreUploadsLink').style.display='none';
}
}
</script>
最初のFileUploadを介して結合しているだけのファイルボタンは添付され、送信され、他のボタンは送信されません。 ヘルプ。
'file.setAttribute(" name "、" attachment [] ");'? 'に 'file.setAttribute(" name "、" attachment "+ upload_number);を変更しようとしましたか? – Prusse
ありがとう、それは助けた。 –