Próbuję dołączyć wiele obrazów w załącznikach. Użyłem Forearchu dla każdego załącznika, ale nie uzyskuję nazwy i imienia, gdy używam foreach, prawdopodobnie robię coś złego. Poniżej znajduje się kod i błędy:Dodawanie wielu załączników w PHPMailer
HTML wejściowe
<input id="upload-file" class="upload-file" type="file" name="upload-file[]">
var_dump od $ _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 dla nazwy i 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
KOD:
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);
}
Pamiętaj, że żaden z przedstawionych odpowiedzi obsługiwać przesłane bezpiecznie, zgodnie [docs PHP] (http://php.net/manual/en/features.file-upload.php). Oprzyj swój kod na [przykładach przesyłania plików dostarczonych z PHPMailer] (https://github.com/PHPMailer/PHPMailer/blob/master/examples/), które obsługują pliki poprawnie. – Synchro