Пытаюсь отправить картинку на почту с помощью фреймворка PHPMailer.
Суть в том что отправляется как ой то файл phpdfw234 (к примеру), а картинки нет. Понял что проблема $_FILES['имя инпута']['name'].
$mail->addAttachment($_FILES['upload']['tmp_name'], $FILES['upload']['name']);
На просторах интернета нашёл код, он работает, но не пойму как.
if (isset($_FILES)) {
print_r($_FILES);//если есть файлы в форме
foreach ($_FILES as $file_item) {
if (!is_array($file_item['error'])) { //проверяем множественное или нет поле файла
if ($file_item['error'] == UPLOAD_ERR_OK) {
$mail->addAttachment($file_item['tmp_name'],$file_item['name']);
}
} else {
foreach ($file_item["error"] as $key => $error){
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $file_item["tmp_name"][$key];
$name = $file_item["name"][$key];
$mail->addAttachment($tmp_name,$name);
}
}
}
}
}