Не могу понять почему отправляется только первых 5 вложенных файлов из 8. Вот код:
<?php
session_start();
$admin = 'ilya199999@mail.ru';
if ( isset( $_POST['sendMail'] ) ) {
$name = substr( $_POST['name'], 0, 64 );
$email = substr( $_POST['email'], 0, 64 );
$surname = substr( $_POST['surname'], 0, 64 );
$telefon = substr( $_POST['telefon'], 0, 64 );
$pocht_adr = substr( $_POST['pocht_adr'], 0, 64 );
$adr_ob = substr( $_POST['adr_ob'], 0, 64 );
$etaj = substr( $_POST['etaj'], 0, 64 );
$vodos = substr( $_POST['vodos'], 0, 64 );
$vodootvod = substr( $_POST['vodootvod'], 0, 64 );
$teplo = substr( $_POST['teplo'], 0, 64 );
$error = '';
if ( empty( $name ) ) $error = $error.'<li>Не заполнено поле "Имя"</li>';
if ( empty( $email ) ) $error = $error.'<li>Не заполнено поле "E-mail"</li>';
if ( empty( $surname ) ) $error = $error.'<li>Не заполнено поле "Фамилия"</li>';
if ( empty( $telefon ) ) $error = $error.'<li>Не заполнено поле "Телефон"</li>';
if ( empty( $pocht_adr ) ) $error = $error.'<li>Не заполнено поле "Почтовый адрес"</li>';
if ( empty( $adr_ob ) ) $error = $error.'<li>Не заполнено поле "Адрес обьекта"</li>';
if ( empty( $etaj ) ) $error = $error.'<li>Не заполнено поле "Этажность"</li>';
if ( empty( $vodos ) ) $error = $error.'<li>Не заполнено поле "Водоснабжение"</li>';
if ( empty( $vodootvod ) ) $error = $error.'<li>Не заполнено поле "Водоотводение"</li>';
if ( empty( $teplo ) ) $error = $error.'<li>Не заполнено поле "Теплоснабжение"</li>';
if ( !empty( $email ) and !preg_match( "#^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,6}$#i", $email ) )
$error = $error.'<li>поле "E-mail" должно соответствовать формату somebody@somewhere.ru</li>';
if ( !empty( $error ) ) {
$_SESSION['sendMailForm']['error'] = '<p>При заполнении формы были допущены ошибки:</p><ul>'.$error.'</ul>';
$_SESSION['sendMailForm']['name'] = $name;
$_SESSION['sendMailForm']['email'] = $email;
$_SESSION['sendMailForm']['surname'] = $surname;
$_SESSION['sendMailForm']['telefon'] = $telefon;
$_SESSION['sendMailForm']['pocht_adr'] = $pocht_adr;
$_SESSION['sendMailForm']['adr_ob'] = $adr_ob;
$_SESSION['sendMailForm']['etaj'] = $etaj;
$_SESSION['sendMailForm']['vodos'] = $vodos;
$_SESSION['sendMailForm']['vodootvod'] = $vodootvod;
$_SESSION['sendMailForm']['teplo'] = $teplo;
header( 'Location: '.$_SERVER['PHP_SELF'] );
die();
}
$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".$surname."\r\n\r\n";
$body .= "E-MAIL:\r\n".$email."\r\n\r\n";
$body .= "Телефон:\r\n".$telefon."\r\n\r\n";
$body .= "Почтовый адрес:\r\n".$pocht_adr."\r\n\r\n";
$body .= "Адрес объекта:\r\n".$adr_ob."\r\n\r\n";
$body .= "Этажность:\r\n".$etaj."\r\n\r\n";
$body .= "Водоснабжение:\r\n".$vodos."\r\n\r\n";
$body .= "Водоотведение:\r\n".$vodootvod."\r\n\r\n";
$body .= "Теплоснабжение:\r\n".$teplo."\r\n\r\n";
if (!function_exists('quoted_printable_encode')) {
function quoted_printable_encode($string) {
// rule #2, #3 (leaves space and tab characters in tact)
$string = preg_replace_callback (
'/[^\x21-\x3C\x3E-\x7E\x09\x20]/',
'quoted_printable_encode_character',
$string
);
$newline = "=\r\n"; // '=' + CRLF (rule #4)
// make sure the splitting of lines does not interfere with escaped characters
// (chunk_split fails here)
$string = preg_replace ( '/(.{73}[^=]{0,3})/', '$1'.$newline, $string);
return $string;
}
}
// Вспомогательная функция для отправки почтового сообщения с вложением
function send_mail($admin, $body, $email, $filepath, $filename)
{
$subject = '=?windows-1251?B?'.base64_encode('Заполнена форма на сайте').'?=';
$boundary = "--".md5(uniqid(time())); // генерируем разделитель
$headers = "From: ".strtoupper($_SERVER['SERVER_NAME'])." <".$email.">\r\n";
$headers .= "Return-path: <".$email.">\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=\"windows-1251\"\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;
}
function quoted_printable_encode_character ( $matches ) {
$character = $matches[0];
return sprintf ( '=%02x', ord ( $character ) );
}
if ( send_mail($admin, $body, $email, $filepath, $filename) )
$_SESSION['success'] = true;
else
$_SESSION['success'] = false;
header( 'Location: '.$_SERVER['PHP_SELF'] );
die();
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Отправить письмо</title>
</head>
<body>
<?php
if ( isset( $_SESSION['sendMailForm'] ) ) {
echo $_SESSION['sendMailForm']['error'];
$name = htmlspecialchars ( $_SESSION['sendMailForm']['name'] );
$email = htmlspecialchars ( $_SESSION['sendMailForm']['email'] );
$surname = htmlspecialchars ( $_SESSION['sendMailForm']['surname'] );
$telefon = htmlspecialchars ( $_SESSION['sendMailForm']['telefon'] );
$pocht_adr = htmlspecialchars ( $_SESSION['sendMailForm']['pocht_adr'] );
$adr_ob = htmlspecialchars ( $_SESSION['sendMailForm']['adr_ob'] );
$etaj = htmlspecialchars ( $_SESSION['sendMailForm']['etaj'] );
$vodos = htmlspecialchars ( $_SESSION['sendMailForm']['vodos'] );
$vodootvod = htmlspecialchars ( $_SESSION['sendMailForm']['vodootvod'] );
$teplo = htmlspecialchars ( $_SESSION['sendMailForm']['teplo'] );
unset( $_SESSION['sendMailForm'] );
} else {
$name = '';
$email = '';
$surname = '';
$telefon = '';
$pocht_adr = '';
$adr_ob = '';
$etaj = '';
$vodos = '';
$vodootvod = '';
$teplo = '';
}
if ( isset( $_SESSION['success'] ) ) {
if ( $_SESSION['success'] )
echo '<p>Письмо успешно отправлено</p>';
else
echo '<p>Ошибка при отправке письма</p>';
unset( $_SESSION['success'] );
}
?>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST" enctype="multipart/form-data">
<table>
<tr>
<th>Фамилия:</th>
<td><input type="text" name="surname" placeholder="Фамилия" required></td>
<th>Имя</th>
<td><input type="text" name="name" placeholder="Имя"></td>
<th>Телефон</th>
<td><input type="text" name="telefon" placeholder="+7(999) 999-99-99"></td>
</tr>
<tr>
<th>E-mail</th>
<td><input type="text" name="email" placeholder="E-mail"></td>
<th>Почтовый адрес</th>
<td><input type="text" name="pocht_adr" placeholder="Почтовый адрес"></td>
<th>Адрес объекта</th>
<td><input type="text" name="adr_ob" placeholder="Адрес объекта"></td>
</tr>
<tr>
<th>Этажность</th>
<td><input type="text" name="etaj" placeholder="Этажность"></td>
<th>Водоснабжение (м3/сут)</th>
<td><input type="text" name="vodos" placeholder="Водоснабжение"></td>
<th>Водоотведения (м3/сут)</th>
<td><input type="text" name="vodootvod" placeholder="Водоотведения"></td>
</tr>
<tr>
<th>Теплоснабжения (Гкал/час)</th>
<td><input type="text" name="teplo" placeholder="Теплоснабжения"><br></td>
<td><h6 align="top">Заявление (скан-копия) на заклчение договора и выдачу технических условий на подключение (технологическое присоединение) к сетям водоснабжения и водоотведения</h6></td>
<td><input type="file" multiple name="file[]"></td>
</tr>
<tr>
<td><h6 align="top">Паспорт (страница с фото, страница с пропиской) - для физ. лиц</h6></td>
<td><input type="file" multiple name="file[]"></td>
<td><h6 align="top">Правоустанавливающие документы на земельный участок</h6></td>
<td><input type="file" multiple name="file[]"></td>
<td><h6 align="top">Свидетельство о Государственной регистрации индивидуального предпринимателя (для ИП)</h6></td>
<td><input type="file" multiple name="file[]"></td>
<td><h6 align="top">Свидетельство о постановке на налоговый учет (ИНН)</h6></td>
<td><input type="file" multiple name="file[]"></td>
</tr>
<tr>
<td><h6 align="top">Ситуационный план</h6></td>
<td><input type="file" multiple name="file[]"></td>
<td><h6 align="top">Топографическая карта</h6></td>
<td><input type="file" multiple name="file[]"></td>
<td><h6 align="top">Ранее выданные ТУ</h6></td>
<td><input type="file" multiple name="file[]"></td>
</tr>
<tr><td> </td><td><input type="submit" name="sendMail" value="Отправить" /></td></tr>
</table>
</form>
</body>
</html>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Всем доброго дняСуть моей проблемы в том что мне не удается найти в тексте определитель языка php точнее
Здравствуйте, как разрешить выделение мышкой и копирование контента на сайте под Wordpress, никаких плагинов для защиты не ставил, стоит только...