Скачать файл при отправке формы?

добрый день.
Нужно чтобы при отправке формы качался файл.

Файл для обработки формы.
$(document).ready(function() {
  $(".forms_pop2").submit(function() {
    var formID = $(this).attr('id');
    var formNm = $('#' + formID);
    $.ajax({
      type: "POST",
      url: 'mail.php',
      data: formNm.serialize(),
      success: function(data) {
        $.fancybox.close();
        $('.header__top').addClass('blured');
        $('.wrapper').addClass('blured');
        $.fancybox.open({
          src: '#popup_thank',
          type: 'inline',
          opts: {
            onComplete: function() {
              console.info('done!');
            }
          }
        });
      },
      error: function(jqXHR, text, error) {
        $(formNm).html(error);
      }
    });
    return false;
  });
});


Почтовик
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  if (!empty($_POST['formData'])) {
    $formData = $_POST['formData'];
  }else{
    $formData = 'Без темы';
  }
$to = ""; /*Адрес, на который должно приходить письмо*/
    $sendfrom   = ""; /*Адрес, с которого будет приходить письмо*/
    $headers  = "From: " . strip_tags($to) . "\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";
    $subject = "Заявка с сайта ДОРПРОЕКТ";
    $message = "<b>Тема:</b> $formData \n \n <br>";
  if (!empty($_POST['name'])) {
    $message .= "<b>Имя:</b>  ". htmlspecialchars($_POST['name'])." \n \n<br>";
  }
   if (!empty($_POST['name'])) {
    $message .= "<b>Фамилия:</b>  ". htmlspecialchars($_POST['fio'])." \n \n<br>";
  }
  if (!empty($_POST['phone'])) {
    $message .= "<b>Телефон:</b> ". htmlspecialchars($_POST['phone'])." \n \n <br>";
  }
  if (!empty($_POST['email'])) {
    $message .= "<b>E-mail:</b> ". htmlspecialchars($_POST['email'])." \n \n <br>";
  }
  if (mail($to, $subject, $message, $headers)) {
    echo 'Отправлено';
  } else {
    echo 'Ошибка. Сообщение не отправлено!';
  }
} else {
  http_response_code(403);
  echo "Попробуйте еще раз";
}
?>
  • Вопрос задан
  • 183 просмотра
Пригласить эксперта
Ответы на вопрос 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Самый простой способ: в AJAX-овском success сделать window.location='http ://file-link';
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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