У меня есть сайт, mistik.me (хост - sweb.ru), там есть форма с type="file". Форма работает, файл отправляет на почту, но проблема в том, что на почту приходит файл с именем noname, без расширения и весом 0 байт.
Скрипт на другом хостинге работает ( по кр. мере работал месяц назад):
<?PHP header("Content-Type: text/html; charset=utf-8");?><meta http-equiv="content-type" content="text/html; charset=UTF-8" /><?php $to = "***********************"; $from = "***********************"; $subject = "Заявка с сайта";/* Здесь мы проверяем существуют ли переменные, которые передала форма обратной связи. Если не существуют, то мы их создаем */if (isset($_POST['name'])) {$name = $_POST['name'];}if (isset($_POST['mail'])) {$mail = $_POST['mail'];}$mes = "<p>Имя: $name</p> <p>E-mail: $mail</p>";if ($_FILES['mail_file']['error']==0) { // $filename = $_FILES['mail_file']['tmp_name']; //Имя файла для прикрепления $filename2 = $_FILES['mail_file']['name']; $message = $mes; //Текст письма $boundary = "—"; //Разделитель /* Заголовки */ $headers = "From: $from\nReply-To: $from\n"; $headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\""; $body = "--$boundary\n"; /* Присоединяем текстовое сообщение */ $body .= "Content-type: text/html; charset='utf-8'\n"; $body .= "Content-Transfer-Encoding: quoted-printablenn"; $body .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode($filename2)."?=\n\n"; $body .= $message."\n"; $body .= "--$boundary\n"; $file = fopen($filename, "r"); //Открываем файл $text = fread($file, filesize($filename)); //Считываем весь файл fclose($file); //Закрываем файл /* Добавляем тип содержимого, кодируем текст файла и добавляем в тело письма */ $body .= "Content-Type: application/octet-stream; name==?utf-8?B?".base64_encode($filename2)."?=\n"; $body .= "Content-Transfer-Encoding: base64\n"; $body .= "Content-Disposition: attachment; filename==?utf-8?B?".base64_encode($filename2)."?=\n\n"; $body .= chunk_split(base64_encode($text))."\n"; $body .= "--".$boundary ."--\n"; $send = mail($to, $subject, $body, $headers); //Отправляем письмо} else { /* А это функция, как раз занимается отправкой письма на указанный выше адрес */ $send = mail ($to,$subject,$mes,"Content-type:text/plain; charset = UTF-8\r\nFrom:$from");}?>
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке.
Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
Question
n0_th1nk
Добрый день.
У меня есть сайт, mistik.me (хост - sweb.ru), там есть форма с type="file". Форма работает, файл отправляет на почту, но проблема в том, что на почту приходит файл с именем noname, без расширения и весом 0 байт.
Скрипт на другом хостинге работает ( по кр. мере работал месяц назад):
Вот код формы:
В чем проблема? Может ли быть проблема в самом хостинге?
Заранее спасибо
Link to comment
Share on other sites
4 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.