Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Вопросы КЭПу » Прикрепление файлов к форме обратной связи?

Прикрепление файлов к форме обратной связи?


     21.03.2015    Вопросы КЭПу    2574

вопрос
Как поправить код чтобы прикреплялись файлы, и отсылались на мыльник?
<?php

if( ! defined( 'DATALIFEENGINE' ) ) {
    die( "Hacking attempt!" );
}

$ip = $_SERVER['REMOTE_ADDR'];  

require_once ENGINE_DIR . '/classes/mail.class.php';

if( isset( $_POST['send'] ) ) {

    $allowed_filetypes = array('.jpg', '.gif', '.png', '.bmp', '.pdf', '.doc');
    $max_filesize = 3145728; $upload_path = './uploads/from_mail/'; $filename = $_FILES['file']['name'];
    $ext = substr($filename, strpos($filename,'.'), strlen($filename)-1);

    if(!in_array($ext,$allowed_filetypes)) {
        die('Данный тип файла не поддерживается.');
    }
    
    if(filesize($_FILES['file']['tmp_name']) > $max_filesize) {
        die('Файл слишком большой.');
    }
    
    if(!is_writable($upload_path)) {
        die('Невозможно загрузить фаил в папку. Установите права доступа - 777.');
    }
        
    $mail = new dle_mail( $config );
    $tema = "Информационное письмо";
    $server = $_POST['server'];

    $mail = trim(htmlspecialchars($_POST["mail"]));
    if (strlen($mail) == "0") {
        $error.="Заполните поле <b>E-Mail</b><br>";
    } elseif(!preg_match("/[0-9a-z_]+@[0-9a-z_^.-]+.[a-z]{2,3}/i",$mail)) {
        $error.="Вы ввели неверный <b>E-Mail</b><br>";
    }

    $fio = trim(htmlspecialchars($_POST["fio"]));
    if(strlen($fio) == "0") {
        $error.="Заполните поле <b>Ваше имя</b><br>";
    }
    
    if(@$error){
      
        msgbox("Внимание, обнаружена ошибка", $error);

    } else{
        move_uploaded_file($_FILES['file']['tmp_name'],$upload_path . $filename);
        
        $test = "
        Здравствуйте!
        Поступил новый заказ с сайта
        Электронная почта: ".$_POST['mail']."
        IP адрес отправителя: ".$ip."
        Название компании: ".$_POST['kompany']."
        Фамилия Имя: ".$_POST['fio']."
        Контактный номер телефона: ".$_POST['telefon']."
        Тип работ: ".$_POST['tip_rabot']."
        Прикрепленный файл: <a href='" . $upload_path . $filename . "'>
        ";
        
        $mail->send( "майл", $tema, $test);
        msgbox("Спасибо", "Благодарим Вас, обращение будет обработано в течении 24 часов.");
    }
}

$tpl->load_template( 'order.tpl' );
$tpl->copy_template = "<form  method=\"post\" id=\"sendmail\" name=\"sendmail\" enctype=\"multipart/form-data\" action=\"\">\n" . $tpl->copy_template . "<input name=\"send\" type=\"hidden\" value=\"send\" /></form>";
$tpl->compile( 'content' );
$tpl->clear();

?>

Ответил: КЭП


Прикрепление файлов к форме обратной связи?

— Тогда мы идём к вам!

1 комментарий

vodka356
Юзер

vodka356 - 22 марта 2015 08:02 -

Хороший вопрос, сам бы сегодня задал, интересно как реализовать

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

наверх