Добрый день. Проблема с отправкой файла из заявки на почту. Библиотека phpmailer. Вроде все сделал по мануалу но приходит письмо без файла. В чем может быть проблема?
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
$path = $_SERVER['DOCUMENT_ROOT'].'/components/phpmailer/';
require $path.'Exception.php';
require $path.'PHPMailer.php';
require $path.'SMTP.php';
$errorContainer = array();
$arrayFields = array(
'name' => $_POST['name'],
'phone' => $_POST['phone'],
'brand_watch' => $_POST['brand'],
);
// проверка всех полей на пустоту
foreach($arrayFields as $fieldName => $oneField){
if($oneField == '' || !isset($oneField)){
$errorContainer[$fieldName] = 'Поле обязательно для заполнения';
}
}
// делаем ответ для клиента
if ( empty ( $errorContainer ) ) {
$names = $_POST['name'];
$form_phone = $_POST['phone'];
$form_brand = $_POST['brand'];
$form_model = $_POST['model'];
$form_box = $_POST['box'];
$mail = new PHPMailer;
$mail->CharSet = 'UTF-8';
$mail->setFrom('info@yandex.ru', 'example'); // от кого
$mail->addReplyTo('info@yandex.ru', 'example'); // обратный адрес
$mail->addAddress('ev@yandex.ru');
$mail->Subject = 'Заявка';
$mail->Body = "Заявка";
//Attach multiple files one by one
for ( $ct = 0; $ct < count ( $_FILES['file']['tmp_name'] ); $ct++ ) {
$uploadfile = tempnam ( sys_get_temp_dir(), sha1 ( $_FILES['file']['name'][$ct] ) );
$filename = $_FILES['file']['name'][$ct];
if ( move_uploaded_file ( $_FILES['file']['tmp_name'][$ct], $uploadfile ) ) {
$mail->addAttachment( $uploadfile, $filename );
}
}
// Отправляем
if ( $mail->send() ) {
echo json_encode(array('result' => 'success'));
}
} else {
// если есть ошибки
echo json_encode(array('result' => 'error', 'text_error' => $errorContainer));
}