Ребят, всем привет! Подскажите в чем может быть ошибка? Из формы все данные в письме на почту прилетают норм, кроме файла. Он вообще не прикрепляется к письму. HTML: <input type="file" name="userfile[]" multiple id="userfile" class="w100"> PHP: <?php // Файлы phpmailer require 'class.phpmailer.php'; require 'class.smtp.php'; $name = $_POST['name']; $number = $_POST['number']; $email = $_POST['email']; $comments = $_POST['comments']; // Настройки $mail = new PHPMailer; $mail->isSMTP(); $mail->Host = 'smtp.yandex.ru'; $mail->SMTPAuth = true; $mail->Username = 'test'; $mail->Password = 'test'; $mail->SMTPSecure = 'ssl'; $mail->Port = 465; $mail->setFrom('test@yandex.ru'); $mail->addAddress('test@gmail.com'); // Прикрепление файлов for ($ct = 0; $ct < count($_FILES['userfile']['tmp_name']); $ct++) { $uploadfile = tempnam(sys_get_temp_dir(), sha1($_FILES['userfile']['name'][$ct])); $filename = $_FILES['userfile']['name'][$ct]; if (move_uploaded_file($_FILES['userfile']['tmp_name'][$ct], $uploadfile)) { $mail->addAttachment($uploadfile, $filename); } else { $msg .= 'Failed to move file to ' . $uploadfile; } } // Письмо $mail->isHTML(true); $mail->Subject = "LEMON - order"; // Заголовок письма $mail->Body = "Имя: $name <br> Телефон: $number <br> Почта: $email <br> Комментарий: $comments"; // Текст письма // Результат if(!$mail->send()) { echo 'Message could not be sent.'; echo 'Mailer Error: ' . $mail->ErrorInfo; } else { echo 'ok'; } ?>
@IgoryanVL, Проверьте правильность действий в 27-й строке. В 26-й строке лучше вызов функции подсчета количества вынести до начала цикла, или в блок инициализации (присвоив значение переменной
@IgoryanVL, кстати, для чего выполняете move_uploaded_file()? Файл нужен для истории? Почему бы просто не отправить файл и забыть о нём?
Если не надо сохранять отправленные файлы, то попробуйте так (вместо строк с 26 по 34-ю): PHP: foreach ($_FILES['userfile']['tmp_name'] as $ct => $tmpfilename) { if ($_FILES['userfile']['error'] == UPLOAD_ERR_OK) { $filename = $_FILES['userfile']['name'][$ct]; $mail->addAttachment($tmpfilename, $filename); } else { $msg .= 'Failed to add attachment: ' . $filename; } }