Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 2
Регистрация: 02.03.2016
Сообщений: 18

Отправить несколько изображений на почту

24.08.2016, 14:24. Показов 743. Ответов 2
Метки php (Все метки)

Студворк — интернет-сервис помощи студентам
здравствуйте. есть форма заявки "подачи объявления". нужно чтобы была возможность добавлять несколько изображений. как это можно организовать??
html
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<form action="/post.php" method="POST" id="form2">
          <div class="row">
            <p>Заголовок</p>
            <p>
              <input class="form-control" autocomplete="on" id="form_title" type="text" name="title" placeholder="Заголовок" required> </p>
            <p>Цена</p>
            <p>
              <input class="form-control" autocomplete="on" id="form_price" type="number" name="price" placeholder="Цена" required> </p>
            <p>Количество комнат</p>
            <p>
              <input class="form-control" autocomplete="on" id="form_komnaty" type="number" name="komnaty" placeholder="Количество комнат" required> </p>
            <p>Как сдаете</p>
            <p>
              <span><input type="checkbox" name="check[]" value="По часам">По часам</span> 
              <span><input type="checkbox" name="check[]" value="Посуточно">Посуточно</span> 
              <span><input type="checkbox" name="check[]" value="Помесячно">Помесячно</span> 
              <span><input type="checkbox" name="check[]" value="Поквартально">Поквартально</span> 
            </p>
            <p>Этаж</p>
            <p>
              <input class="form-control" autocomplete="on" id="form_floor" type="number" name="floor" placeholder="Этаж" required> </p>
            <p>Описание</p>
            <textarea name="desc" id="form_desk" cols="30" rows="5" class="form-control"></textarea>
            <p>Ваше имя</p>
            <p>
              <input class="form-control" autocomplete="on" id="form_name" type="text" name="name" placeholder="Имя" required> </p>
            <p>Ваш телефон</p>
            <p>
              <input class="form-control" autocomplete="on" id="form_phone" type="text" name="phone" placeholder="Телефон" required> </p>
            <p>Ваш e-mail</p>
            <p>
              <input class="form-control" autocomplete="on" id="form_email" type="email" name="email" placeholder="E-mail" required> </p>
          </div>
          <div class="row btn-send">
            <input type="submit" value="Отправить" class="btn btn-default"> </div>
        </form>
PHP
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php    
 
$name=$_POST['name'];  
$tel=$_POST['phone']; 
$email=$_POST['email'];  
$title=$_POST['title']; 
$price=$_POST['price']; 
$komnaty=$_POST['komnaty']; 
$floor=$_POST['floor']; 
$desc=$_POST['desc']; 
$check = '';
if (!empty($_POST["check"]) && is_array($_POST["check"]))
{
    $check = implode(" ", $_POST["check"]);
}
$to  = "test@mail.ru" ; 
 
$subject = "Объявление"; 
 
$msg=" 
Заголовок: $title <br>
Цена: $price <br>
Количество комнат: $komnaty <br>
Тип аренды: $check<br>
Этаж: $floor<br>
Имя: $name <br>
Телефон: $tel<br>
E-mail: $email<br>
 
"; 
            
$headers  = "Content-type: text/html; charset=utf-8 \r\n"; 
$headers .= "From: HouseRoom <robot@test.kz>\r\n"; 
$headers .= "Bcc: robot@test.kz"; 
 
mail($to, $subject, $msg, $headers); 
 
  print "<script language='Javascript'> 
window.alert('Ваша заявка отправлена'); 
window.location = 'index.php';
</script>";
exit; 
 
?>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.08.2016, 14:24
Ответы с готовыми решениями:

Как отправить несколько файлов на почту PowerShell
Здравствуйте, есть скрипт, который отправляет на почту файлы. Скрипт с ошибкой не могу понять причину, помогите плз? Сам скрипт: ...

Отправка формы ajax, как отправить несколько изображений?
Отправляю данные обычным способом, т.е с перезагрузкой страницы, робит все норм, решил сделать это при помощи ajax, делаю это так: ...

Как грамотно отправить на печать несколько файлов изображений? Класс Printing.Printdocument
Всем привет! Продолжаю делать (доводить до ума) свой кастомный Мастер печати изображений. За эталон берется стандартный Мастер...

2
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
24.08.2016, 14:51
Загрузка на сервер нескольких файлов
0
0 / 0 / 2
Регистрация: 02.03.2016
Сообщений: 18
24.08.2016, 15:51  [ТС]
что здесь не так? картинки не приходят
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<form action="/send_doc.php" method="POST" id="form2">
          <div class="row">
            <p>Заголовок</p>
            <p>
              <input class="form-control" autocomplete="on" id="form_title" type="text" name="title" placeholder="Заголовок" required> </p>
            <p>Цена</p>
            <p>
              <input class="form-control" autocomplete="on" id="form_price" type="number" name="price" placeholder="Цена" required> </p>
            <p>Количество комнат</p>
            <p>
              <input class="form-control" autocomplete="on" id="form_komnaty" type="number" name="komnaty" placeholder="Количество комнат" required> </p>
            <p>Как сдаете</p>
            <p>
              <span><input type="checkbox" name="check[]" value="По часам">По часам</span> 
              <span><input type="checkbox" name="check[]" value="Посуточно">Посуточно</span> 
              <span><input type="checkbox" name="check[]" value="Помесячно">Помесячно</span> 
              <span><input type="checkbox" name="check[]" value="Поквартально">Поквартально</span> 
            </p>
            <p>Этаж</p>
            <p>
              <input class="form-control" autocomplete="on" id="form_floor" type="number" name="floor" placeholder="Этаж" required> </p>
            <p>Описание</p>
            <textarea name="desc" id="form_desk" cols="30" rows="5" class="form-control"></textarea>
            <p>Ваше имя</p>
            <p>
              <input class="form-control" autocomplete="on" id="form_name" type="text" name="name" placeholder="Имя" required> </p>
            <p>Ваш телефон</p>
            <p>
              <input class="form-control" autocomplete="on" id="form_phone" type="text" name="phone" placeholder="Телефон" required> </p>
            <p>Ваш e-mail</p>
            <p>
              <input class="form-control" autocomplete="on" id="form_email" type="email" name="email" placeholder="E-mail" required> </p>
            <p>
              Изображения
            </p>
            <p>
              <input type="file" autocomplete="off" name="file[]" /><br>
              <input type="file" autocomplete="off" name="file[]" /><br>
              <input type="file" autocomplete="off" name="file[]" /><br>
              <input type="file" autocomplete="off" name="file[]" /><br>
              <input type="file" autocomplete="off" name="file[]" /><br>
            </p>
          </div>
          <div class="row btn-send">
            <input type="submit" name="sendMail" value="Отправить" class="btn btn-default"> </div>
        </form>
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?php
session_start();
$admin = 'test@mail.ru';
 
if ( isset( $_POST['sendMail'] ) ) {
$name=substr($_POST['name'], 0, 64 );  
$tel=substr($_POST['phone'], 0, 64 ); 
$email=substr($_POST['email'], 0, 64 );  
$title=substr($_POST['title'], 0, 64 ); 
$price=substr($_POST['price'], 0, 64 ); 
$komnaty=substr($_POST['komnaty'], 0, 64 ); 
$floor=substr($_POST['floor'], 0, 64 ); 
$desc=substr($_POST['desc'], 0, 64 ); 
$check = '';
if (!empty($_POST["check"]) && is_array($_POST["check"]))
{
$check = implode(" ", $_POST["check"]);
}
 
 
$filepath = array();
$filename = array();
for( $i = 0; $i < count($_FILES['file']); $i++) {
if ( !empty( $_FILES['file']['tmp_name'][$i] ) and $_FILES['file']['error'][$i] == 0 ) {
  $filepath[] = $_FILES['file']['tmp_name'][$i];
  $filename[] = $_FILES['file']['name'][$i];
}
}
 
$body = "Имя:\r\n".$name."\r\n\r\n";
$body .= "Телефон:\r\n".$tel."\r\n\r\n";
$body .= "E-mail:\r\n".$email."\r\n\r\n";
$body .= "Заголовок:\r\n".$title."\r\n\r\n";
$body .= "Цена:\r\n".$price."\r\n\r\n";
$body .= "Количество комнат:\r\n".$komnaty."\r\n\r\n";
$body .= "Этаж:\r\n".$floor."\r\n\r\n";
$body .= "Тип аренды:\r\n".$check."\r\n\r\n";
if ( send_mail($admin, $body, $robot, $filepath, $filename) )
$_SESSION['success'] = true;
else
$_SESSION['success'] = false;
header( 'Location: '.$_SERVER['PHP_SELF'] );
die();
}
 
// Вспомогательная функция для отправки почтового сообщения с вложением
function send_mail($admin, $body, $robot, $filepath, $filename)
{
$subject = '=?utf-8?B?'.base64_encode('Заполнена форма на сайте').'?=';
$boundary = "--".md5(uniqid(time())); // генерируем разделитель
$headers = "From: ".strtoupper($_SERVER['SERVER_NAME'])." <".$robot.">\r\n";   
$headers .= "Return-path: <".$robot.">\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .="Content-Type: multipart/mixed; boundary=\"".$boundary."\"\r\n";
$multipart = "--".$boundary."\r\n";
$multipart .= "Content-type: text/plain; charset=\"utf-8\"\r\n";
$multipart .= "Content-Transfer-Encoding: quoted-printable\r\n\r\n";
 
$body = quoted_printable_encode( $body )."\r\n\r\n";
 
$multipart .= $body;
 
$file = '';
$count = count( $filepath );
if ( $count > 0 ) {
for ( $i = 0; $i < $count; $i++ ) {
  $fp = fopen($filepath[$i], "r");
  if ( $fp ) {
    $content = fread($fp, filesize($filepath[$i]));
    fclose($fp);
    $file .= "--".$boundary."\r\n";
    $file .= "Content-Type: application/octet-stream\r\n";
    $file .= "Content-Transfer-Encoding: base64\r\n";
    $file .= "Content-Disposition: attachment; filename=\"".$filename[$i]."\"\r\n\r\n";
    $file .= chunk_split(base64_encode($content))."\r\n";      
  }
}
}
$multipart .= $file."--".$boundary."--\r\n";
 
if( mail($admin, $subject, $multipart, $headers) )
return true;
else
return false;
}
 
 
if ( isset( $_SESSION['success'] ) ) {
if ( $_SESSION['success'] )
echo '<p>Email successfully sent</p>';
else
echo '<p>Error sending letters</p>';
unset( $_SESSION['success'] );
}
 
?>
<script> 
window.alert('Ваша заявка отправлена'); 
window.location = 'index.php';
</script>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.08.2016, 15:51
Помогаю со студенческими работами здесь

Отправить текст из программы на почту (или не на почту)
У меня написана программа уже. Нужна функция наподобие саппорта Как отправить текст из делфи ко мне? Либо на почту, вообще...

Отправить на почту
Добрый день.Данная тема конечно уже не раз всплывала,и понятно что и как,но вот проблема,не могу в текст сообщения вставить значения...

Отправить почту
Доброго времени суток всем! У меня такая проблема...есть некий сервис и при определенных действиях должны на почту приходить...

Отправить почту
ASP.NET VB или C# Подскажите, пожалуйста, как отослать на определённый электронный адрес простой текст. При этом не должен...

Отправить сообщение на почту
Здравствуйте! Подскажите почему сообщение не отправляется на почту. echo '&lt;tr&gt;'; echo '&lt;td&gt;Отправить уведомление бухгалтеру...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru