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
Форумы портала PHP.SU :: Версия для печати :: Прикрепления файла и отправка письма
Форумы портала PHP.SU » » Вопросы новичков » Прикрепления файла и отправка письма

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

1. Rishat1c - 09 Октября, 2017 - 14:18:06 - перейти к сообщению
Доброго дня суток, имеется код для отправки письма на почту с прикрепленным файлом.

с html формы передаю в action_one.php данные одного инпата и файла

Но проблема в том, что если пользователь не прикрепит файл, то письмо не уходит.

писал различного рода проверки, в результате письма уходили но в файл все равно прикреплялся с неизвестным расширением и с наименование noname

Спасибо за внимание, надеюсь на помощь

PHP:
скопировать код в буфер обмена
  1. <?PHP                                                          
  2. if($_FILES['fileFF']['size'] > 0) {
  3.  
  4.   $output = '<h1>Спасибо! Ваш файл получен.</h1>';
  5.  
  6.   $to = " "; // адрес почты получателя
  7.   $from = " "; // адрес почты отправителя
  8.   $subject = "Плашка 2";
  9.  
  10.   $phonenumber = $_POST['message'];
  11.  
  12.   $message = "Номер телефона ".$phonenumber." . Файл проекта: ";
  13.  
  14.   $attachment = chunk_split(base64_encode(file_get_contents($_FILES['fileFF']['tmp_name'])));
  15.   $filename = $_FILES['fileFF']['name'];
  16.   $filetype = $_FILES['fileFF']['type'];
  17.  
  18.   $boundary = md5(date('r', time())); // рандомное число
  19.  
  20.   $headers = "From: " . $from . "\r\n"; // см. наиболее часто используемые заголовки
  21.   $headers .= "Reply-To: " . $from . "\r\n";
  22.   $headers .= "MIME-Version: 1.0\r\n";
  23.   $headers .= "Content-Type: multipart/mixed; boundary=\"_1_$boundary\"";
  24.  
  25.   $message.="
  26. --_1_$boundary
  27. Content-Type: multipart/alternative; boundary=\"_2_$boundary\"
  28.  
  29. --_2_$boundary
  30. Content-Type: text/plain; charset=\"utf-8\"
  31. Content-Transfer-Encoding: 7bit
  32.  
  33. $message
  34.  
  35. --_2_$boundary--
  36. --_1_$boundary
  37. Content-Type: \"$filetype\"; name=\"$filename\"
  38. Content-Transfer-Encoding: base64
  39. Content-Disposition: attachment // содержимое является вложенным
  40.  
  41. $attachment
  42. --_1_$boundary--";
  43.  
  44.   mail($to, $subject, $message, $headers);
  45.   echo "<h1>Спасибо! Ваш файл получен.</h1>";
  46.   echo "<br/><a href='index.html'> < Вернутся обратно</a>";
  47.  
  48. }
  49. ?>
2. Vladimir Kheifets - 09 Октября, 2017 - 20:54:48 - перейти к сообщению
Rishat1c пишет:
Доброго дня суток, имеется код для отправки письма на почту с прикрепленным файлом.

с html формы передаю в action_one.php данные одного инпата и файла

Но проблема в том, что если пользователь не прикрепит файл, то письмо не уходит.

писал различного рода проверки, в результате письма уходили но в файл все равно прикреплялся с неизвестным расширением и с наименование noname

Спасибо за внимание, надеюсь на помощь

Спойлер (Отобразить)

Добрый вечер! Побробуйте использовать функцию:
Спойлер (Отобразить)

Удачи!

 

Powered by ExBB FM 1.0 RC1