Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Отправка почтового сообщения с двумя вложениями

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
nipopadyuk
Отправлено: 07 Декабря, 2016 - 19:42:51
Post Id



Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Дек. 2016  
Откуда: Нижневартовск, Россия


Помог: 0 раз(а)




Всем привет!
Есть такой скрипт, который обрабатывает форму, заполненную пользователем.
CODE (html):
скопировать код в буфер обмена
  1. <form class="contact_form" action="sendfile.php" method="post" name="contact_form" enctype="multipart/form-data">
  2.         <input name="zayav" type="hidden" value=".....">
  3.         <ul>
  4.                 <li>
  5.                         <div class="text-center"><h2>Закажите прямо сей час</h2></div>
  6.                 </li>
  7.                 <li>
  8.                         <label for="name">Имя:</label>
  9.                         <input type="text" name="name" placeholder="Введите Ваше имя" required />
  10.                 </li>
  11.                 <li>
  12.                         <label for="email">Email:</label>
  13.                         <input type="email" name="email" placeholder="mail@example.com" required />
  14.                         <span class="form_hint">Введите Ваш Email</span>
  15.                 </li>
  16.                 <li>
  17.                         <label for="website">Телефон:</label>
  18.                         <input type="text" name="tel" placeholder="+7 777 777-77-77" required />
  19.                         <span class="form_hint">Введите Ваш телефон</span>
  20.                 </li>
  21.  
  22.                 <li>
  23.                         <label for="message">Комментарий:</label>
  24.                         <textarea name="message" id="inputs" cols="40" rows="6"   ></textarea>
  25.                 </li>
  26.                 <li>
  27.                         <label for="file">Загрузите макет :</label>
  28.                         <input name="file"  type="file"     />
  29.                 </li>
  30.                 <li>
  31.                         <label for="file2">Загрузите реквизиты:</label>
  32.                         <input name="file2"  type="file"     />
  33.                 </li>
  34.                 <li>
  35.                         <button class="submit" type="submit">Отправить</button>
  36.                 </li>
  37.         </ul>
  38. </form>


PHP:
скопировать код в буфер обмена
  1. <head>
  2.      
  3.         <meta charset="utf-8">
  4.     <body>
  5.      
  6.     <?PHP
  7.     $to = ' @gmail.com';
  8.      
  9.     $_POST['sendMail'];
  10.       $name  = substr( $_POST['name'], 0, 64 );
  11.       $tel = substr( $_POST['tel'], 0, 64 );
  12.       $email   = substr( $_POST['email'], 0, 64 );
  13.       $message = substr( $_POST['message'], 0, 250 );
  14.       $zayav = substr( $_POST['zayav'], 0, 200 );
  15.            echo 'Ваше сообщение отравлено и будет рассмотрено в ближайшее  время.<a href="#" onclick="history.back();return false;">Назад</a>';
  16.      
  17.      
  18.       if ( !empty( $_FILES['file']['tmp_name'] ) and $_FILES['file']['error'] == 0 ) {
  19.         $filepath = $_FILES['file']['tmp_name'];
  20.         $filename = $_FILES['file']['name'];
  21.       } else {
  22.         $filepath = '';
  23.         $filename = '';
  24.       }
  25.     if ( !empty( $_FILES['file2']['tmp_name2'] ) and $_FILES['file2']['error'] == 0 ) {
  26.         $filepath2 = $_FILES['file2']['tmp_name2'];
  27.         $filename2 = $_FILES['file2']['name2'];
  28.       } else {
  29.         $filepath2 = '';
  30.         $filename2 = '';
  31.       }
  32.       $body = "Акция:\r\n".$zayav."\r\n\r\n";
  33.       $body .= "Имя:\r\n".$name."\r\n\r\n";
  34.       $body .= "Контактный номер:\r\n".$tel."\r\n\r\n";
  35.       $body .= "E-mail:\r\n".$email."\r\n\r\n";
  36.       $body .= "Описание заказа:\r\n".$message;
  37.      
  38.       send_mail($to, $body, $email, $filepath, $filename, $filepath2, $filename2);
  39.      
  40.      
  41.      
  42.     $filename = 'somefile.txt';
  43.     $text = $to.$body.$email.$filepath.$filename.$filepath2.$filename2;
  44.     //записываем текст в файл
  45.     file_put_contents($filename, $text);
  46.      
  47.      
  48.      
  49.      
  50.     // Вспомогательная функция для отправки почтового сообщения с вложением
  51.     function send_mail($to, $body, $email, $filepath, $filename, $filepath2, $filename2)
  52.     {
  53.       $subject = 'Заказ на сайте ';
  54.       $boundary = "--".md5(uniqid(time())); // генерируем разделитель
  55.       $headers = "From: ".$email."\r\n";  
  56.       $headers .= "MIME-Version: 1.0\r\n";
  57.       $headers .="Content-Type: multipart/mixed; boundary=\"".$boundary."\"\r\n";
  58.       $multipart = "--".$boundary."\r\n";
  59.       $multipart .= "Content-type: text/plain; charset=\"utf-8\"\r\n";
  60.       $multipart .= "Content-Transfer-Encoding: quoted-printable\r\n\r\n";
  61.      
  62.       $body = $body."\r\n\r\n";
  63.       $multipart .= $body;
  64.       $file = '';
  65.       if ( !empty( $filepath ) ) {
  66.         $fp = fopen($filepath, "r");
  67.         if ( $fp ) {
  68.           $content = fread($fp, filesize($filepath));
  69.           fclose($fp);
  70.           $file .= "--".$boundary."\r\n";
  71.           $file .= "Content-Type: application/octet-stream\r\n";
  72.           $file .= "Content-Transfer-Encoding: base64\r\n";
  73.           $file .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";
  74.           $file .= chunk_split(base64_encode($content))."\r\n";
  75.         }
  76.       }
  77.       //загрузка второго файла
  78.       if ( !empty( $filepath2 ) ) {
  79.         $fp = fopen($filepath2, "r");
  80.         if ( $fp ) {
  81.           $content = fread($fp, filesize($filepath2));
  82.           fclose($fp);
  83.           $file .= "--".$boundary."\r\n";
  84.           $file .= "Content-Type: application/octet-stream\r\n";
  85.           $file .= "Content-Transfer-Encoding: base64\r\n";
  86.           $file .= "Content-Disposition: attachment; filename=\"".$filename2."\"\r\n\r\n";
  87.           $file .= chunk_split(base64_encode($content))."\r\n";
  88.         }
  89.       }
  90.       $multipart .= $file."--".$boundary."--\r\n";
  91.         mail($to, $subject, $multipart, $headers);
  92.     }
  93.     ?>
  94.     </head>
  95.     </body>


Необходимо, чтобы на почту отправлялось два вложения с этой страницы, но приходит только одно

(Отредактировано автором: 07 Декабря, 2016 - 20:10:31)

 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB