Отправка заявки на почту с вложениями на php

123
06 февраля 2018, 10:41

На сайте есть заявка в которой пользователь может загрузить файл. Как добавить(реализовать) код чтоб файл приходит на почту.

Как в данном случае написать правильно массив $_FILES ?

<form enctype="multipart/form-data" class="" action="" method="post">
<input type="text" class="" name="name" placeholder="Введите ФИО" required>
<input type="text" class="" name="contacts" placeholder="Введите email" required>
<input type="text" class="" name="phone" placeholder="Введите телефон" required>
<input type="text" class="" name="text" placeholder="Введите тему" required>
<label class="fileContainer">Добавить вложения<input type="file" name="userfile"></label>
<input type="hidden" name="form" value="Коммерческое предложение">
<button type="submit" class="">Отправить запрос</button>
</form>

<?php
header('Content-Type: text/html; charset=utf-8');
define("EMAIL_TO", "");
define("SUBJECT", "Коммерческое предложение с сайта");
$error = false;
if ($_SERVER['REQUEST_METHOD'] == "POST"){
if ( !empty($_POST["form"]) ){
    $form = trim( strip_tags( $_POST["form"]) );
} else {
    $error = true;
}
if ( !empty($_POST["name"]) ){
    $name = trim( strip_tags( $_POST["name"]) );
} else {
    $error = true;
}
if ( !empty($_POST["contacts"]) ){
    $contacts = trim( strip_tags( $_POST["contacts"]) );
} else {
    $error = true;
}
if ( !empty($_POST["phone"]) ){
    $phone = trim( strip_tags( $_POST["phone"]) );
} else {
    $error = true;
}
if ( !empty($_POST["text"]) ){
    $text = trim( strip_tags( $_POST["text"]) );
} else {
    $error = true;
}
if ( !empty($_POST["file"]) ){
    $file = trim( strip_tags( $_POST["file"]) );
} else {
    $error = true;
}
$message = "<h1 style='font-size: 20px;text-decoration: underline'>Контактные данные</h1>";
$message .= "<b>Форма</b>: ".$form."<br>";
$message .= "<b>ФИО</b>: ".$name."<br>";
$message .= "<b>Email</b>: ".$contacts."<br>";
$message .= "<b>Телефон</b>: ".$phone."<br>";
$message .= "<b>Тема</b>: ".$text."<br>";
$message .= "<b>Файл</b>: ".$file."<br>";
$headers  = "Content-type: text/html; charset=utf-8 \r\n";
} else {
$error = true;
}
if (!$error){
$send = mail(EMAIL_TO, SUBJECT, $message, $headers);
    if ($send){
    echo "Ok";
    }
}
?>
READ ALSO
Three.js. Не добавляются объекты на сцену

Three.js. Не добавляются объекты на сцену

На странице есть канвас, который рендерится через Threejs

187
Сложная JS-анимация и её реализация

Сложная JS-анимация и её реализация

Подскажите пожалуйста, насколько сложно сделать анимацию такого типа, как с машинкой на сайте: http://rit-teamru/ Это очень важно

182
Таблицы и циклы [требует правки]

Таблицы и циклы [требует правки]

У меня не получается написать программу, выводящую на экран таблицу, в которой количество строк и столбцов задается пользователемВ каждой...

198
Переход к следующей step by step вкладке после окончания работы прогресс бара

Переход к следующей step by step вкладке после окончания работы прогресс бара

Имеются 3 step by step вкладкиПосле открытия второй вкладки активируется прогресс бар, нужно сделать так что бы, после того как прогресс бар дойдет...

170