Sto tentando di allegare più immagini negli allegati. Ho usato la ricerca per ogni allegato ma, non avendo il tempname e il nome quando uso foreach, probabilmente sto facendo qualcosa di sbagliato. Di seguito è riportato il codice e gli errori:Aggiunta di più allegati in PHPMailer
HTML ingresso
<input id="upload-file" class="upload-file" type="file" name="upload-file[]">
var_dump di $ _FILES [ 'upload-file']:
array(5) { ["name"]=> array(1) { [0]=> string(47) "WRANGLER_AW13_GIRLONTOP_A4_LANDSCAPE_300dpi.jpg" } ["type"]=> array(1) { [0]=> string(10) "image/jpeg" } ["tmp_name"]=> array(1) { [0]=> string(24) "C:\xampp\tmp\php41DC.tmp" } ["error"]=> array(1) { [0]=> int(0) } ["size"]=> array(1) { [0]=> int(91742) } }
var_dump per nome e temp_name :
Notice: Undefined index: name in C:\xampp\htdocs\hmg\process-email.php on line 66
Notice: Undefined index: tmp_name in C:\xampp\htdocs\hmg\process-email.php on line 67
NULL
NULL
CODICE:
foreach($_FILES['upload-file'] as $file) {
$name = $file['name'];
$path = $file['tmp_name'];
var_dump($name);
var_dump($path);
//And attach it using attachment method of PHPmailer.
$mail->addattachment($path,$name);
}
sappiate che nessuna delle risposte presentate gestire il caricamento in modo sicuro, come per [la documentazione di PHP] (http://php.net/manual/en/features.file-upload.php). Basa il tuo codice su [gli esempi di caricamento dei file forniti con PHPMailer] (https://github.com/PHPMailer/PHPMailer/blob/master/examples/), che gestiscono i file correttamente. – Synchro