Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему с формы на почту приходит пустой файл? 
:(
    Опции темы
Steisi1982
Дата 19.1.2020, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 19.1.2020

Репутация: нет
Всего: нет



Что не так с моим кодом? С формы приходит письмо с вложенным файлом. Название и расширение файла верные, но файл пустой и весит 0кб
Код

if (isset($_POST['email'])) {
    $surname = $_POST['surname'];
    $name = $_POST['name'];
    $workName = $_POST['workname'];
    $tel = $_POST['tel'];
    $email = $_POST['email'];
    $age = $_POST['age'];
    $sity = $_POST['sity'];
    $mailto = "[email protected]";
    $from_mail = "[email protected]";
    $replyto = "[email protected]";
    $from_name = "My site`s service";
    $subject = 'Сообщение с сервиса';
    $subject= '=?utf-8?B?' . base64_encode($subject) . '?=';
    $message = "Фамилия:".$surname.".<br/>
        Имя: ".$name. ".<br/>
        Название работы: ".$workName. ".<br/>
        Телефон: ".$tel. ".<br/>
        E-mail: ".$email. ".<br/>
        Возраст: ".$age. ".<br/>
        Населенный пункт: ".$sity."<br/>
        Дополнительная информация для адресата может быть здесь<br/>";
    $filename = $_FILES["file"]["name"];
    $content = chunk_split(base64_encode(file_get_contents($_FILES["file"]["tmp_name"])));
    $uid = md5(uniqid(time()));
    $header = "From: " . $from_name . " <" . $from_mail . ">\r\n";
    $header .= "Reply-To: " . $replyto . "\r\n";
    $header .= "MIME-Version: 1.0\r\n";    
    $header .= "Content-Type: multipart/mixed; boundary=\"" . $uid . "\"\r\n\r\n";
    $body = "This is a multi-part message in MIME format.\r\n";
    $body .= "--" . $uid . "\r\n";
    $body .= "Content-type:text/html; charset=utf-8\n";
    $body .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
    $body .= "<div>" . $message . "</div>\r\n\r\n";
 
    $body .= "--" . $uid . "\r\n";
    $body .= "Content-Type: application/octet-stream; name=\"" . $filename . "\"\r\n"; // use different content types here
    $body .= "Content-Transfer-Encoding: base64\r\n";
    $body .= "Content-Disposition: attachment; filename=\"" . $filename . "\"\r\n\r\n"; // For Attachment
    $body .= $content . "\r\n\r\n";
    $body .= "--" . $uid . "--";
    if (mail($mailto, $subject, $body, $header)) {
    echo "<p>Письмо успешно отправлено</p>"; // or use booleans here
    } else {
    echo "<p>Письмо не удалось отправить</p><pre>";
    print_r(error_get_last());
    echo '</pre>';
    }
}

PM MAIL   Вверх
ksnk
Дата 20.1.2020, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Это не антиспам срабатывает ? Если письмо уходит на mail.ru или gmail - там можно посмотреть исходное письмо. В нем тоже не будет вложения?
Если работает антиспам - в письмо будут добавлены какие-то дополнительные заголовки


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Steisi1982
Дата 20.1.2020, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 19.1.2020

Репутация: нет
Всего: нет



Цитата(ksnk @ 20.1.2020,  13:58)
Это не антиспам срабатывает ? Если письмо уходит на mail.ru или gmail - там можно посмотреть исходное письмо. В нем тоже не будет вложения?
Если работает антиспам - в письмо будут добавлены какие-то дополнительные заголовки

Я новичок и в этом не разбираюсь пока. Что именно нужно смотреть в исходном файле и в каком его месте?
PM MAIL   Вверх
igorold
Дата 24.1.2020, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

Репутация: нет
Всего: 17



А в теге формы есть параметр enctype="multipart/form-data"?



--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
Bodyan
Дата 3.11.2020, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.8.2013

Репутация: нет
Всего: нет



    $content = chunk_split(base64_encode(file_get_contents($_FILES["file"]["tmp_name"])));

Проблема в base64_encode
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1158 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.