Отправка файла через форму

Статус
В этой теме нельзя размещать новые ответы.

KODEAK

Полезный
Регистрация
11 Апр 2009
Сообщения
172
Реакции
16
Задался вопросом как сделать отправку файла на мыло на прямую без загрузки,
я так понимаю что для этого просто функция
PHP:
mail()
не прокатит, а если прокатит то как ?
 
Задался вопросом как сделать отправку файла на мыло на прямую без загрузки,
я так понимаю что для этого просто функция
PHP:
mail()
не прокатит, а если прокатит то как ?

Если файл не на сервере, он в любом случае будет загружаться в папку с временными файлами, а потом уже отправляться с письмом. Если изобретешь свой способ отправки файла без загрузки, дай знать. Может нобелевскую премию получишь :D
 
  • Заблокирован
  • #4
Задался вопросом как сделать отправку файла на мыло на прямую без загрузки,
я так понимаю что для этого просто функция
PHP:
mail()
не прокатит, а если прокатит то как ?
Он имел ввиду, чтобы письмо содержало аттач.
Бородин писал: php.spb.ru/php/mail.htm
 
  • Заблокирован
  • #5
Задался вопросом как сделать отправку файла на мыло на прямую без загрузки,
я так понимаю что для этого просто функция
PHP:
mail()
не прокатит, а если прокатит то как ?
PHP:
$from = "admin"; // От кого
 $to = "i@qaim.ru"; // Кому
 $filename = "/image.jpg"; // Полное имя файла 
 $subj = 'Тема'; // Тема сообщения
 $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()

?>
 
Есть очень мощный замечательный класс называется он PHPMailer:

Домашняя страничка:


Класс имеет очень мощный функционал для отправки писем, может работать как может работать как с локальным почтовым сервером так и с внешним поддерживающим SMTP (допустим gmail или яндекс почта).

Здесь полная информация о классе и примеры реализации скрипта:

Хоть по ссылки выше в примерах реализации скрипта и используется ООП, но все довольно подробно описано что и за чем.

Здесь пример по проще с реализацие формы отправки и без использования ООП:


А если вкратце без всяких предрасутков то использовать класс довольно просто:

Класс очень прост в использовании и подключении, бесплатен, а также используется в CMS Joomla.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху