Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум о web-дизайне, графике - RusForumz _ Web-программирование: PHP _ Форма обратной связи

Автор: Максимус 18.3.2008, 11:51

Здравствуйте!
У меня есть форма обратной связи и в ней всего три поля

1. Ваше имя
2. Ваш e-mail
3. Ваш коментарий

Простенькая форма 2.gif

И вот мне понадобилось дабавить новую строку: Прикрепить файл
Строку добавил с кнопкой обзор victory.gif

А в скрипте обработчике формы я не знаю чего писать, что б он мне прислал добавленный файл?

Подскажите.... help.gif

Автор: diktator 20.3.2008, 3:19

Примерно так:

Код
$from = user"; // От кого
$to = "a@b.ru"; // Кому
$filename = "filename"; // Полное имя файла
$subj = 'subject'; // Тема сообщения
$text = 'text'; // Тело сообщения
$f = fopen($filename,"rb"); // Открываем и читаем бинарно файл $filename
$un = strtoupper(uniqid(time()));
$head = "From: $fromn"; // Создаем заголовки нашего письма
$head .= "To: $to ";
$head .= "Subject: $subj ";
$head .= "X-Mailer: PHPMail Tool ";
$head .= "Reply-To: $from ";
$head .= "Mime-Version: 1.0 ";
$head .= "Content-Type:multipart/mixed;";
$head .= "boundary="----------".$un."" ";
$zag = "------------".$un." Content-Type:text/html; ";
$zag .= "Content-Transfer-Encoding: 8bit $text ";
$zag .= "------------".$un." ";
$zag .= "Content-Type: application/octet-stream;";
$zag .= "name="".basename($filename)."" ";
$zag .= "Content-Transfer-Encoding:base64 ";
$zag .= "Content-Disposition:attachment;";
$zag .= "filename="".basename($filename)."" ";
$zag .= chunk_split(base64_encode(fread($f,filesize($filename))))." "; // Кодируем строку
// в base64, деля файл на небольшие «куски» функцией "chunk_split"

mail("$to", "$subj", $zag, $head); // Посылаем письмо функцией mail()

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)