@nikkon82

Почему на почту приходят пустые прикрепленные файлы?

Доброго вечера!

На сайте есть форма с прикреплением нескольких файлов.
Почему на почту прикрепленные файлы приходят пустые?

Вот код:
... проверка других переменных 

if (!empty($_FILES["attachments"])) {
    $file = array();
    $file = $_FILES["attachments"];
}
 
  // Отправляем почтовое сообщение 
  if(empty($file)) mail($mail_to,"=?UTF-8?B?" . base64_encode ($thm). "?=",$msg,"Content-type:text/html; charset = utf-8\r\nFrom:$thm <$email>"); 

  else send_mail($mail_to, $email, "=?UTF-8?B?" . base64_encode ($thm). "?=", $msg, $file); 
   
  function send_mail($mail_to, $email, $thema, $html, $file){ 
  
	$them = Тайтл сообщения;
	
	$EOL = "\r\n"; 
    $boundary     = "--".md5(uniqid(time()));  
    $headers    = "MIME-Version: 1.0;$EOL";   
    $headers   .= "Content-Type: multipart/mixed; boundary=\"$boundary\"$EOL";  
    $headers   .= "From: =?UTF-8?B?" . base64_encode($them) . "?= <" . $email . ">$EOL";
      
    $multipart  = "--$boundary$EOL";   
    $multipart .= "Content-Type: text/html; charset=utf-8$EOL";   
    $multipart .= "Content-Transfer-Encoding: base64$EOL";   
    $multipart .= $EOL; 
    $multipart .= chunk_split(base64_encode($html)); 
	
	if ($file) {
		$i = 0;
		while ($i <= 3) {
			$fp = fopen($file["tmp_name"][$i],"rb");   

			if (!$fp){  
				$file = "";
			}else{   
				$data = fread($fp, filesize($file["tmp_name"][$i]));   
				fclose($fp);
			}
			$name = $file["name"][$i]; 
    
			$multipart .=  "$EOL--$boundary$EOL";   
			$multipart .= "Content-Type: application/octet-stream; name=\"$name\"$EOL";   
			$multipart .= "Content-Transfer-Encoding: base64$EOL";   
			$multipart .= "Content-Disposition: attachment; filename=\"$name\"$EOL";   
			$multipart .= $EOL;  
			$multipart .= chunk_split(base64_encode($data));  
		
			$i++;
		}
	}

    $multipart .= "$EOL--$boundary--$EOL";   
      
    if(!mail($mail_to, $thema, $multipart, $headers)){
		return False;
	}else { 
		return True;  
    }  
  exit;  
}


Причем не важно сколько файлов отправляю - один или больше - на почту приходит 4 пустых файла
Подскажите пожалуйста, что не так?
  • Вопрос задан
  • 324 просмотра
Пригласить эксперта
Ответы на вопрос 2
dimonchik2013
@dimonchik2013
non progredi est regredi
какие вложили - такие и приходят
Ответ написан
Комментировать
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
это ради чего такие героические попытки сожрать кактус? Нельзя взять готовый мэйлер и в 10 строк все без проблем отправить?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 10:21
1200 руб./в час
26 апр. 2024, в 10:10
1000 руб./за проект