Hello everyone needs help in finishing the feedback form with the ability to attach a photo. With the subsequent sending by mail estesno. Since I am not in the tooth with my foot in php, I ask for help from respectable specialists. Thanks in advance. Here is what I have:
<?php session_start(); // переменная, в которую будем сохранять результат работы $data['result']='error'; // если данные были отправлены методом POST, то... if ($_SERVER['REQUEST_METHOD'] == 'POST') { // устанавливаем результат, равный success $data['result']='success'; //получить имя, которое ввёл пользователь if (isset($_POST['name'])) { $name = $_POST['name']; } else { $data['result']='error'; } //получить email, который ввёл пользователь if (isset($_POST['phone'])) { $phone = $_POST['phone']; } else { $data['result']='error'; } //получить сообщение, которое ввёл пользователь if (isset($_POST['email'])) { $email = $_POST['email']; } else { $data['result']='error'; } $uploaddir = './uploads/'; // переместим файлы из временной директории в указанную foreach( $_FILES as $file ){ if( move_uploaded_file( $file['tmp_name'], $uploaddir . basename($file['name']) ) ){ $files[] = realpath( $uploaddir . $file['name'] ); } else { $data['result']='error'; } } } else { //данные не были отправлены методом пост $data['result']='error'; } // дальнейшие действия (ошибок не обнаружено) if ($data['result']=='success') { //1. Сохранение формы в файл $output = "---------------------------------" . "\n"; $output .= date("dmY H:i:s") . "\n"; $output .= "Имя: " . $name . "\n"; $output .= "Номер телефона: " . $phone . "\n"; $output .= "email: " . $email . "\n"; if (file_put_contents(dirname(__FILE__).'/message.txt', $output, FILE_APPEND | LOCK_EX)) { $data['result']='success'; } else { $data['result']='error'; } //2. Отправляем на почту // включить файл PHPMailerAutoload.php require_once dirname(__FILE__) . '/PHPmailer/PHPMailerAutoload.php'; //формируем тело письма $output = "Дата: " . date("dmY H:i") . "\n"; $output .= "Имя: " . $name . "\n"; $output .= "Номер телефона: " . $phone . "\n"; $output .= "email: " . $email. "\n"; // создаём экземпляр класса PHPMailer $mail = new PHPMailer; $mail->CharSet = 'UTF-8'; $mail->From = 'email@сайт.ru'; $mail->FromName = 'Имя сайта'; $mail->Subject = 'Запрос на оценку'; $mail->Body = $output; $mail->AddAddress( 'email@gmail.com' ); $mail->addAttachment( '../uploads/' . $_FILES['file']['name'] ); // отправляем письмо if ($mail->Send()) { $data['result']='success'; } else { $data['result']='error'; } } // формируем ответ, который отправим клиенту echo json_encode($data); ?> In general, I redid the script, connected PHPMailerAutoload.php to simplify the sending of the letter. Everything works except photo binding to the letter. The pictures are uploaded to the server and they don’t want to attach to the letter! See what's wrong. Thank.