2015-02-11 1 views
1

Веб-форма отлично работает, за исключением вложений электронной почты. Я получаю только имя вложения по электронной почте. Он должен приложить исходный файл в электронном письме. Любая помощь?PHP webform - получение только имени вложения по электронной почте, а не оригинального приложения.

Проверьте ниже коды &, дайте мне знать, как я могу исправить эту проблему.

Заранее благодарен.

<?php 

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

      $fname=$_POST['fname']; 
      $lname=$_POST['lname']; 
      $city=$_POST['city']; 
      $state=$_POST['state']; 
      $country=$_POST['country']; 
      $phone=$_POST['phone']; 
      $email=$_POST['email']; 
      $gender=$_POST['gender']; 
      $field1=$_POST['field1']; 
      $field2=$_POST['field2']; 
      $link=$_POST['link']; 
      $twit=$_POST['twit']; 
      $field3=$_POST['field3']; 
      $field4=$_POST['field4']; 
      $field5=$_POST['field5']; 
      $document1=$_FILES['b_plan']['name']; 
      $document2=$_FILES['presentation']['tmp_name']; 
      $document3=$_FILES['founder_cvs']['name']; 
      //echo $title; 
      //echo $document; 
      //$path =ABSPATH.'/uploads/applications/'.$_FILES['presentation']['name']; 
      //$path =ABSPATH.'/uploads/applications/'.$_FILES['b_plan']['name']; 
      $path =ABSPATH.'/uploads/applications/'; 

      if(isset($_FILES['presentation']['name'])) 
      { 
       move_uploaded_file($_FILES['presentation']['tmp_name'], $path.$_FILES['presentation']['name']); 
      } 
      if(isset($_FILES['founder_cvs']['name'])) 
      { 
       move_uploaded_file($_FILES['b_plan']['tmp_name'], $path.$_FILES['b_plan']['name']); 
      } 
      if(isset($_FILES['founder_cvs']['name'])) 
      { 
       move_uploaded_file($_FILES['founder_cvs']['tmp_name'], $path.$_FILES['founder_cvs']['name']); 
      } 
      //$path =ABSPATH.'wp-content/plugins/document-listing/uploads/'.$_FILES['presentation']['name']; 

      //wp-content/plugins/document-listing/uploads/ 
      //echo $path; 
      global $wpdb; 
      $n = $wpdb->insert( 
       'wp__form', 
       array( 

        'first_name' => $fname, 
        'last_name' => $lname, 
        'city' => $city, 
        'state' => $state, 
        'country' => $country, 
        'phone' => $phone, 
        'email'=>$email, 
        'gender'=>$gender, 
        'field1'=>$field1, 
        'field2'=>$field2, 
        'link' => $link, 
        'twit' => $twit, 
        'field3' => $field3, 
        'field4' => $field4, 
        'field5' => $field5, 
        'b_plan' => $document1, 
        'presentation' => $document2, 
        'founder_cvs' =>$document3 
       ) 
      ); 
              $to= "[email protected]"; 
              //echo $to; die; 

              $subject=" application on "; 

              $attachment = chunk_split(base64_encode(file_get_contents($_FILES['presentation']['tmp_name']))); 
              $document2 = $_FILES['presentation']['name']; 

              $body = " 
                  <p>Dear Admin</p> 
                  <p>An application has been received. Please find below the details:</p> 
                  Title: ".$title."<br/> 
                  First Name: ".$fname."<br/> 
                  Last Name: ".$lname."<br/> 
                  City: ".$city."<br/> 
                  Emirate/Province: ".$state."<br/> 
                  Country: ".$country."<br/> 
                  Phone Number: ".$phone."<br/> 
                  Email: ".$email."<br/> 
                  Gender: ".$gender."<br/> 
                  How did you hear about ?: ".$field1."<br/> 
                  Company Name: ".$fields2."<br/> 
                  Management Team (short bios with names, educations, and experience): ".$field3."<br/> 
                  LinkedIn: ".$link."<br/> 
                  Twitter: ".$twit."<br/> 
                  Executive Summary : ".$field4."<br/> 
                  Anything else you want to add? : ".$field5."<br/> 
     Founder CV: ".$document3."<br/> 
     Presentation Deck: ".$document2."<br/> 
     Financial Projections: ".$document1."<br/>             
                  <p>Thanks </p> 
                  <p> Team </p> "; 


              $headers = 'From: '.$email.''. "\r\n" . 
                 'Reply-To: '.$email."\r\n". 
                 'MIME-Version: 1.0' . "\r\n". 
                 'Content-type: text/html; charset=iso-8859-1'; 


           if(mail($to,$subject,$body,$headers)) 
           { 
          header('Location:/thankyou/'); 

           } 

     } 


     //echo $msg; 
    ?> 
+0

Использует ли html-форму 'enctype =" multipart/form-data "'? – Adunahay

+0

@ Adunahay, да правильно. – Mehreen

+0

Делают ли файлы физически отображаемыми в каталоге загрузки? – Adunahay

ответ

0

Похоже, вы на самом деле не прикрепляете ничего к своей электронной почте. Вы определяете $attachment, но это никогда не используется нигде. Я бы предложил использовать что-то вроде PHPMailer, чтобы сделать это проще. Как только вы импортируете PHPMailer, его довольно тривиально, чтобы прикрепить вещи:

$email = new PHPMailer(); 

$email->From  = '[email protected]'; 
$email->FromName = 'Your Name'; 
$email->Subject = $subject; 
$email->Body  = $body; 
$email->AddAddress($to); 

$email->AddAttachment($path . $document2 , $document2); 

$email->Send(); 
Смежные вопросы