it_proger29
@it_proger29
Битрикс

Почему не приходят файлы из инпута file?

mail.php
<?php
// Кому отправляем
$to = 'test@yandex.ru';
  
// Тема письма
$subject = 'Заявка с сайта';
 
    $headers  = "From: " . strip_tags($sendfrom) . "\r\n";
    $headers .= "Reply-To: ". strip_tags($sendfrom) . "\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/html;charset=utf-8 \r\n";
// Само сообщение
$message = '
<!DOCTYPE html>
<html lang="ru">
<head>

   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Тема страницы</title>
    </head>
	<body>
<table cellpadding="0" cellspacing="0" style="width:600px; max-width:600px; margin: 0px auto; border:1px solid #ddd;">
  <thead>
    <tr>
    <td style="text-align:center; padding:16px; color:#fff; font-size:18px;background:#FEA707;" colspan="2">'.$_POST["form"].'</td>
    </tr>
  </thead>
  <tr>
    <td style="width:35%; border:1px solid #ddd; padding:12px 20px; font-size:16px;">Имя клиента:</td>
    <td style="width:65%; border:1px solid #ddd; padding:12px 20px; text-align:center; font-size:16px;">'.$_POST["name"].'</td>
  </tr>
  <tr>
    <td style="width:35%; border:1px solid #ddd; padding:12px 20px; font-size:16px;">Телефон:</td>
    <td style="width:65%; border:1px solid #ddd; padding:12px 20px; text-align:center; font-size:16px;">'.$_POST["phone"].'</td>
  </tr>
  <tr>
    <td style="width:35%; border:1px solid #ddd; padding:12px 20px; font-size:16px;">Е-mail:</td>
    <td style="width:65%; border:1px solid #ddd; padding:12px 20px; text-align:center; font-size:16px;">'.$_POST["email"].'</td>
  </tr>
  <tr>
    <td colspan="2" style="border:1px solid #ddd; background:#eee; padding:12px 20px; font-size:14px; text-align:center;" >Это сообщение отправлено успешно</td>
  </tr>
</table>
</body>
</html>
';
  
// Загружаем только ядро WordPress
define( 'WP_USE_THEMES', false );
require( '../../../../wp-load.php' );
require_once( ABSPATH . 'wp-admin/includes/file.php' );

$attachment = wp_handle_upload($_FILES['fileFF'], array('test_form' => FALSE));
if ($attachment) {
// Отправляем письмо
// print_r($attachment);
// exit();
// /Отправляем письмо
$sent_message = wp_mail( $to, $subject, $message, $headers, $attachment["file"], $attachment["url"] );
 
if ( $sent_message ) {
    // Если сообщение успешно отправилось
    header('Location: /thanks?status=success');
    // print_r($_FILES);
} else {
    // Ошибки при отправке
    header('Location: /thanks?status=error');
}
}
else {
   header('Location: /thanks?status=error');
   exit(); 
}


форма из которой приходят вложения
<form enctype="multipart/form-data" action="<? echo get_template_directory_uri().'/mail/mail.php'; ?>" method="POST" class="main-form">
            <input type="hidden" name="form" value="Форма на главной странице">
                <div class="form-row frst main-form__row">
                    <div class="form-input main-form__input">
                        <input name="name" required placeholder="Ваше имя" type="text">
                        <span class="form-input__line"></span>
                    </div>

                    <div class="form-input main-form__input">
                        <input name="phone" required placeholder="Ваш телефон" type="tel">
                        <span class="form-input__line"></span>
                    </div>

                    <div class="form-input main-form__input">
                        <input name="email" placeholder="Ваш e-mail" type="email">
                        <span class="form-input__line"></span>
                    </div>



                </div>
                <div class="form-row main-form__row">
                    <input name="fileFF" type="file" id="updateFile">
                    <label class="main-form__block" for="updateFile">
                        <i class="fas fa-download"></i>
                        <p class="main-form__label">Прикрепить техническое задание</p>
                    </label>
                    <button class="button main-form__btn" type="submit">Отправить</button>
                </div>
            </form>


Форма из которой не приходят вложения
<form action="<? echo get_template_directory_uri().'/mail/mail.php'; ?>" method="POST" class="contacts-form">
    <input type="hidden" name="form" value="Блок 'контакты'">
        <div class="form-input contacts-input">
            <input name="name" id="contact_name" required type="text">
            <label for="contact_name">Ваше имя</label>
            <span class="form-input__line"></span>
        </div>

        <div class="form-input contacts-input">
            <input name="phone" id="contact_tel" required type="tel">
            <label for="contact_tel">Ваш телефон</label>
            <span class="form-input__line"></span>
        </div>


        <div class="form-input contacts-input">
            <input name="email" id="contact_email" type="email">
            <label for="contact_email">Ваш e-mail</label>
            <span class="form-input__line"></span>
        </div>


        <div class="form-row contacts-file">
            <input name="fileFF" type="file" id="updateFileCont">
            <label class="main-form__block" for="updateFileCont">
                <i class="fas fa-download"></i>
                <p class="main-form__label">Прикрепить техническое задание</p>
            </label>
        </div>
        <button href="#" data-click="nextSlide" class="section-btn">
            <span class="section-btn__circle">
                <img src="<? echo get_template_directory_uri(); ?>/assets/img/long-arrow.png" alt="Стрелка">
            </span>
        </button>
    </form>


Здравствуйте, сверху обработчик, рабочая форма и не рабочая форма.
Не знаете, почему из 1 формы приходят вложения из инпута file а из другой нет?
  • Вопрос задан
  • 262 просмотра
Решения вопроса 1
@hecby_v
enctype="multipart/form-data" обязательно для формы с файлами
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы