Помощник
|
Прикрепление 2х файлов |
Dude_hb
|
Сообщение
#1
|
||
|
|
||
|
|||
Webmaster_hb |
23.8.2007, 14:44;
Ответить: Webmaster_hb
Сообщение
#2
|
|
Хочу узнать как можно прикрепить 2 файла. Нужно, чтоб происходило так. Действие 1: они отправляются на серв Действие 2: после обработки эти же файлы отправляются во вложении на мыло Заранее благодарю! действие первое: на сайте делаете форму с инпутом типа файл в action формы указываете имя файла-скрипта обработчика в котором и будет код PHP пример <form enctype="multipart/form-data" action="_URL_" method="post"> Отправить этот файл: <input name="userfile" type="file"> <input type="submit"> </form> файл скрипт может работать с переменной $_FILES содержимое массива будет $_FILES['userfile']['name'] Оригинальное имя файла на компьютере клиента. $_FILES['userfile']['type'] Mime-тип файла, в случае, если браузер предоставил такую информацию. Пример: "image/gif". $_FILES['userfile']['size'] Размер в байтах принятого файла. $_FILES['userfile']['tmp_name'] Временное имя, с которым принятый файл был сохранен на сервере. $_FILES['userfile']['error'] Код ошибки. далее файл скрипт может перенести файл в нужную вами директорию (не забыв удалить его из временной папки) либо напрямую прикреплять файл из временной директории Действие второе: для отправки на email файлов стандартной функции PHP не хватает, вернее для этого требуется самому разобраться в заголовках писем которые отправлются и составлять их самим но большинство использует готовые библиотеки (классы) для работы с почтой PHP.net ссылается на работу с PEAR::Mail там есть уже готовые методы для включения в письмо аттачментов если и там будут вопросы, пишите |
|
|
Dude_hb
|
Сообщение
#3
|
|
это ща написано для одного файла, а мне нужно, чтобы можно было прикрепить 2 файла. Чтоб так скажем было 2е кнопочки "ОБЗОР" ))
|
|
|
Webmaster_hb |
23.8.2007, 17:13;
Ответить: Webmaster_hb
Сообщение
#4
|
|
|
|
|
Webmaster_hb |
23.8.2007, 19:09;
Ответить: Webmaster_hb
Сообщение
#5
|
|
вот исходник файла для аттача двух файлов
[php] print_r($POST); print_r($_FILES); Error_Reporting(E_ALL & ~E_NOTICE); $picture = ""; $picture2 = ""; // Если поле выбора вложения не пустое - закачиваем его на сервер if (!empty($_FILES['mail_file']['tmp_name']) && !empty($_FILES['mail_file2']['tmp_name'])) { // Закачиваем файл $path = $_FILES['mail_file']['name']; $path2 = $_FILES['mail_file2']['name']; if (copy($_FILES['mail_file']['tmp_name'], $path)) $picture = $path; if (copy($_FILES['mail_file2']['tmp_name'], $path2)) $picture2 = $path2; } $thm = "Заказ с www.rvss.ru"; $msg = "<p><font face=Verdana, Arial, Helvetica, sans-serif size=+1 color=#003366>Информация о клиенте:</font></p> <p><font face=Verdana, Arial, Helvetica, sans-serif size=-1 color=#333333> 1. Имя: <strong>$familia $name $otchestvo</strong><br> 2. Город: <strong>$town</strong> Индекс: <strong>$ind</strong><br> 3. Улица: <strong>$ulica</strong><br> 4. Дом / Квартира: <strong>$dom - $kv</strong><br> 5. Телефон: <strong>$fone</strong><br> 6. e-mail: <a href=mailto:$mailklient><strong>$mailklient</strong></a></font></p> <hr color=#FF6600> <p><font face=Verdana, Arial, Helvetica, sans-serif size=+1 color=#003366>Информация о заказе:</font></p> <p><font face=Verdana, Arial, Helvetica, sans-serif size=-1 color=#333333> 1. Шаблон <strong>$shablon</strong><br>"; $mail_to = "ваш_email"; // Отправляем почтовое сообщение if(empty($picture)) mail($mail_to, $thm, $msg); else send_mail($mail_to, $thm, $msg, $picture, $picture2); // Вспомогательная функция для отправки почтового сообщения с вложением function send_mail($to, $thm, $html, $path, $path2) { $fp = fopen($path,"r"); if (!$fp) { print "Файл $path не может быть прочитан"; exit(); } $file = fread($fp, filesize($path)); fclose($fp); $fp2 = fopen($path2,"r"); if (!$fp2) { print "Файл $path2 не может быть прочитан"; exit(); } $file2 = fread($fp2, filesize($path2)); fclose($fp2); $boundary = "--".md5(uniqid(time())); // генерируем разделитель $headers .= "MIME-Version: 1.0\n"; $headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n"; $multipart .= "--$boundary\n"; $kod = 'windows-1251'; $multipart .= "Content-Type: text/html; charset=$kod\n"; $multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n"; $multipart .= "$html\n\n"; $message_part = "--$boundary\n"; $message_part .= "Content-Type: application/octet-stream\n"; $message_part .= "Content-Transfer-Encoding: base64\n"; $message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n"; $message_part .= chunk_split(base64_encode($file))."\n"; $message_part .= "--$boundary\n"; $message_part .= "Content-Type: application/octet-stream\n"; $message_part .= "Content-Transfer-Encoding: base64\n"; $message_part .= "Content-Disposition: attachment; filename = \"".$path2."\"\n\n"; $message_part .= chunk_split(base64_encode($file2))."\n"; $multipart .= $message_part."--$boundary--\n"; if(!mail($to, $thm, $multipart, $headers)) { echo "К сожалению, письмо не отправлено"; exit(); } } [/php] |
|
|
Dude_hb
|
Сообщение
#6
|
|
получилось круто, но теперь он не отсылает сообщение заказчику. и выдает ошибку в строчке
// Вспомогательная функция для отправки почтового сообщения с вложением function send_mail($to, $thm, $html, $path, $path2) вот сижу, пытаюсь что-то изменить, но ничего не получается.... Не могу понять в чем же дело!!! |
|
|
Webmaster_hb |
25.8.2007, 23:57;
Ответить: Webmaster_hb
Сообщение
#7
|
|
получилось круто, но теперь он не отсылает сообщение заказчику. и выдает ошибку в строчке // Вспомогательная функция для отправки почтового сообщения с вложением function send_mail($to, $thm, $html, $path, $path2) вот сижу, пытаюсь что-то изменить, но ничего не получается.... Не могу понять в чем же дело!!! ты полностью использовал приведенный скрипт без изменений ??? и тектст ошибки тоже напиши |
|
|
FLICKER |
30.8.2007, 1:10;
Ответить: FLICKER
Сообщение
#8
|
|
Админ - умный чувак.
|
|
|
Максимус_hb |
19.3.2008, 12:05;
Ответить: Максимус_hb
Сообщение
#9
|
|
|
Здравствуйте! Я посмотрел выше изложенные советы :goodpost: и начал думать как их применить к своему случаю, у меня всё просто:
Имя: E-mail: Сообщение: Добавить файл: и кнопка отправить я так и не понял куда нужно добавлять эту функцию :nea: вот скрипт-обработчик: if (isset($_POST['$name'])) {$name = $_POST['$name'];} if (isset($_POST['$email'])) {$email = $_POST['$email'];} if (isset($_POST['$message'])) {$message = $_POST['$message'];} $address = 'admin@site.ru'; $sub = "Вопрос от клиента"; $mes = "Автор назвался: $name \nУказал свой адрес: $email \nСодержание письма: $message"; $verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset = windows-1251\r\nFrom:$email"); if ($verify == 'true') { echo "<p>Спасибо Ваше сообщение принято! В ближайшее время мы рассмотрим Ваше сообщение и сообщим ответ"; } else { echo "<p>Сообщение не отправлено, попробуйте заново..."; } Чего и в какое место мне добавить в этом скрипте для того, чтоб он присылал мне прикреплённый файл? А то я в PHP новичёк :rolleyes: и мне трудно самому сообразить :dobr:
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
FinFile - новые возможности для монетизации Ваших файлов! | 3 | FileXmaster | 2051 | 25.7.2020, 16:10 автор: -Condis- |
|
Добавление файлов | 0 | PHP_Programist | 2553 | 25.4.2018, 12:25 автор: PHP_Programist |
|
Добавление файлов на сайт | 1 | Dess33 | 2784 | 8.4.2018, 2:32 автор: rasul |
|
Бесплатный сервис для быстрой шифрованной передачи файлов | 1 | xfile | 1259 | 10.6.2017, 8:02 автор: Zulus |
|
www.prodafile.ru – интернет-сервис по продаже файлов пользователей. Платим 5% с продаж привлеченных. | 2 | prodafile | 5838 | 29.10.2016, 0:04 автор: seosite |
Текстовая версия | Сейчас: 29.3.2024, 5:00 |