Привет всем! Есть форма для с отправкой нескольких вложений, без js, но снова приходит на почту только последний выбранный файл((( Помогите разобраться люди!!!! HTML: <fieldset> <form action="php/contacts.php" enctype="multipart/form-data" method="POST" id="feedback-form"> <input type="text" name="namesender" id="namesender" required placeholder="Ваше имя/название компании:" x-autocompletetype="name" maxlength="64"> <input name="telsender" id="telsender" required placeholder="Контактный номер" class="required" type="text" x-autocompletetype="tel" maxlength="14"> <input type="text" name="emailsender" id="emailsender" required placeholder="E-mail для связи:" x-autocompletetype="email" maxlength="64"> <textarea name="message" id="message" required rows="5" placeholder="Кратко опишите Ваш проект:"></textarea> <label class="add-computer-button"> <span class="button">Выбрать</span> <mark>файл не выбран</mark> <input type="file" name="file" multiple id="file"> </label> <input type="submit" id="sendMail" name="sendMail" value="Отправить"> </form> </fieldset> PHP: <?php session_start(); $admin = 'mymail@yandex.ru'; if ( isset( $_SESSION['sendMailForm'] ) ) { echo $_SESSION['sendMailForm']['error']; $namesender = htmlspecialchars ( $_SESSION['sendMailForm']['namesender'] ); $telsender = htmlspecialchars ( $_SESSION['sendMailForm']['telsender'] ); $emailsender = htmlspecialchars ( $_SESSION['sendMailForm']['emailsender'] ); $message = htmlspecialchars ( $_SESSION['sendMailForm']['message'] ); unset( $_SESSION['sendMailForm'] ); } else { $namesender = ''; $telsender = ''; $emailsender = ''; $message = ''; } if ( isset( $_POST['sendMail'] ) ) { $namesender = substr( $_POST['namesender'], 0, 64 ); $telsender = substr( $_POST['telsender'], 0, 14 ); $emailsender = substr( $_POST['emailsender'], 0, 64 ); $message = substr( $_POST['message'], 0, 350 ); $error = ''; if ( empty( $namesender ) ) $error = $error.'<li>Не заполнено поле "Имя/Название компании"</li>'; if ( empty( $telsender ) ) $error = $error.'<li>Не заполнено поле "Контактный номер"</li>'; if ( empty( $emailsender ) ) $error = $error.'<li>Не заполнено поле "E-mail"</li>'; if ( empty( $message ) ) $error = $error.'<li>Не заполнено поле "Сообщение"</li>'; if ( !empty( $emailsender ) and !preg_match( "#^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,6}$#i", $emailsender ) ) $error = $error.'<li>поле "E-mail" должно соответствовать формату somebody@somewhere.ru</li>'; if ( !empty( $error ) ) { $_SESSION['sendMailForm']['error'] = '<p>При заполнении формы были допущены ошибки:</p><ul>'.$error.'</ul>'; $_SESSION['sendMailForm']['namesender'] = $namesender; $_SESSION['sendMailForm']['telsender'] = $telsender; $_SESSION['sendMailForm']['emailsender'] = $emailsender; $_SESSION['sendMailForm']['message'] = $message; header( 'Location: '.$_SERVER['PHP_SELF'] ); die(); } if ( !empty( $_FILES['file']['tmp_name'] ) and $_FILES['file']['error'] == 0 ) { $filepath = $_FILES['file']['tmp_name']; $filename = $_FILES['file']['name']; } else { $filepath = ''; $filename = ''; } $body = "ИМЯ:\r\n".$namesender."\r\n\r\n"; $body .= "ТЕЛЕФОН:\r\n".$telsender."\r\n\r\n"; $body .= "E-MAIL:\r\n".$emailsender."\r\n\r\n"; $body .= "СООБЩЕНИЕ:\r\n".$message; if ( send_mail($admin, $body, $emailsender, $filepath, $filename) ) $_SESSION['success'] = true; else $_SESSION['success'] = false; header( 'Location: '.$_SERVER['PHP_SELF'] ); die(); } // Вспомогательная функция для отправки почтового сообщения с вложением function send_mail($admin, $body, $emailsender, $filepath, $filename) { $subject = '=?utf-8?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=\"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; if ( !empty( $filepath ) ) { $fp = fopen($filepath, "r"); if ( $fp ) { $content = fread($fp, filesize($filepath)); 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."\"\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 (!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 quoted_printable_encode_character ( $matches ) { $character = $matches[0]; return sprintf ( '=%02x', ord ( $character ) ); } if ( isset( $_SESSION['success'] ) ) { if ( $_SESSION['success'] ) header( 'refresh: 0; url=http://test.adtc-spb.ru' ); else echo '<p>Ошибка при отправке письма</p>'; } ?>