прикрепить файлы к заявке php



Автор Sadfkj dkasfj задал вопрос в разделе PHP

помогите не понимающему с PHP, нужна форма отправки с возможностью прикрепить файл и получил лучший ответ

Ответ от Ёаня Семенов[гуру]
В пхп скрипте берешь файл из $_FILES[' file '] конвертишь его в base64 и приклеиваешь к письму
Саня Семенов
Просветленный
(41145)

Ответ от Xs@vier[активный]
Есть примеров много в сети рабочие, в основном копипаст с одного конкретного ресурса.
Приведу полностью функцию которая 100% рабочая, но майл не принимает данное письмо (далее вы сами проблему решите с маил. ру)
Есть варианты исправления "неприёма" майлом, но об этом почитать нужно отдельно (зависит от многих факторов, т. к. сервер заголовки и т. д.)
Сама функция:
public static function multipart_mail($from, $to, $subject, $text, $attachment_files=NULL, $cc=NULL)
{
$attach = array(SERVER.'public/images/logo_60.png');
if(is_array($attachment_files))
{
$attach = array_merge($attach, $attachment_files);
}
$headers = "From: $from
";
//$headers .= "To: $to
";
if (!is_null($cc))
{
$headers .= "Cc: $cc
";
}
$headers .= "Subject: $subject
";
$headers .= "Date: ".date("r")."
";
$headers .= "X-Mailer: zm php script
";
$headers .= "MIME-Version: 1.0
";
$headers .= "Content-Type: multipart/alternative;
";
$baseboundary = "------------".strtoupper(md5(uniqid(rand(), true));
$headers .= " boundary="$baseboundary"
";
//$headers .= "This is a multi-part message in MIME format.
";
$message = "--$baseboundary
";
$message .= "Content-Type: text/plain;
";
$message .= "Content-Transfer-Encoding: 7bit
";
$message .= "встроенные системы уборки
";
$message .= "--$baseboundary
";
$newboundary = "------------".strtoupper(md5(uniqid(rand(), true));
$message .= "Content-Type: multipart/related;
";
$message .= " boundary="$newboundary"

";
$message .= "--$newboundary
";
$message .= "Content-Type: text/html; charset=utf-8
";
$message .= "Content-Transfer-Encoding: 7bit
";
$message .= ($text)."
";
if (is_array($attach))
{
foreach($attach as $filename)
{
$mime_type='image/png';
//$mime_type=mime_content_type($filename);
$file_content = file_get_contents($filename,true);
$filename = basename($filename);
$message .= "--$newboundary
";
$message .= "Content-Type: $mime_type;
";
$message .= " name="$filename"
";
$message .= "Content-Transfer-Encoding: base64
";
$message .= "Content-ID: <$filename>
";
$message .= "Content-Disposition: inline;
";
$message .= " filename="$filename"
";
$message .= chunk_split(base64_encode($file_content));
}
}
$message .= "--$newboundary--
";
$message .= "--$baseboundary--
";
if(mail($to, $subject, $message , $headers)) return true;
}
/* End Send Mail */
Это стандарт работает во всех почтовых системах. Конечно у каждой есть свои "тараканы" - вот обзавестись "дихлофосом" (поисковик в помощь) и можно не переживать, что до клиента не дойдет письмо (читайте инфо по API).
Расписывать я не буду, что делает функция, что не понятно: читаем до последнего символа поста.
Если вопрос вызывает зуд, я с удовольствием помогу пишите на почту, помогу чем смогу.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: помогите не понимающему с PHP, нужна форма отправки с возможностью прикрепить файл
спросили в Другое
почему не получается прикрепить файлы к письму?
Скорее всего, это временная проблема, для решения которой необходимо обновить страницу вашего
подробнее...
спросили в Другое
как прикрепить файл
Отправка файлов с письмом

Вы можете отправлять вложения с письмом — текстовые или
подробнее...
спросили в Другое
как прикрепить файл к письму?
Как отправить письмо?

1. Войти на сайт mail.ru;
2. Войти в почтовый ящик;
подробнее...
спросили в Другое
как прикрепить файл и отправить по электронной почте
Нажимаешь на Прикрепить файл и выбираешь этот файл на компе, как только добавился, нажимаешь на
подробнее...
спросили в Другое
Как правильно отправить файл и письмо по эл. почте?
Следует при отправке письма нажать на кнопку "прикрепить файл"
и выбрать нужный файл из
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в Грузия Груз
Как получить гражданство Грузии?
ТБИЛИСИ, 8 июн – Новости-Грузия, Наталия Смольникова. В Агентстве гражданского реестра Министерства
подробнее...
спросили в Другое
как написать письмо на сайт support@marathonbet.com
Как написать письмо на электронный адрес:
Вам понадобится:
- компьютер, подключенный к
подробнее...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*