Здравствуйте! Пишу скрипт формы обратной связи с несколькими аттачами. Проблема связана с файлами. Данный скрипт их получает, но на емаил файлы приходят или пустые или не приходят вообще. Помогите, пожалуйста. Я несколько дней сижу и уже не понимаю, с чем может быть связано.
PHP:
скопировать код в буфер обмена
$fileElementName = 'fileToUpload'; $max_file_size = 50*1024*1024; $hasFile = 0; $filesCount = sizeof($_FILES[$fileElementName]["name"]); if(!empty($_FILES[$fileElementName]['tmp_name'][0 ])){ for ($i = 0; $i < $filesCount-1; $i++) { if(filesize($_FILES[$fileElementName]['tmp_name'][$i]) > $max_file_size){ echo '<p style = "color:#fff">Max file size : 50mb</p>'; } else{ $fileName[$i] = $_FILES[$fileElementName]['name'][$i]; $fileSize[$i] = $_FILES[$fileElementName]['size'][$i]; $hasFile = 1; } } } $to ="never_die@tut.by"; $name = $_POST['userName']; $from = $_POST['userEmail']; $subj = $_POST['userSubject']; $text = $_POST['userMessage']; $head = "MIME-Version: 1.0\r\n"; $head .= "X-Mailer: PHPMail Tool\r\n"; $head .= "X-Priority: 3\r\n"; $head .= "From:". $name."\n"; $head .= "To: ".$to."\n"; $head .= "Subject: ".$subj."\n"; $head .= "Reply-To: ".$from."\n"; $msg .= "".$text."\r\n\r\n"; $msg .= "".$boundary."\r\n"; if($hasFile == 1){ for($i = 0; $i < $filesCount-1; $i++) { $file[$i] = fopen($_FILES[$fileElementName]['tmp_name'][$i],"rb"); $msg .= "Content-Type: application/octet-stream; name=\"".$fileName[$i]."\"\r\n"; $msg .= "Content-Disposition: attachment; filename=\"".$fileName[$i]."\"\r\n"; $msg .= "Content-Transfer-Encoding: base64\r\n\r\n"; $msg .= "\r\n--".$boundary."--"; } $head .= "Content-Type: multipart/mixed;\r\n"; $head .= "boundary=".$boundary.""; $head .= "\r\n\r\n--".$boundary."\r\n"; } else { $head .= "\r\n\r\n--".$boundary."\r\n"; $head .= "Content-Type:text/plain; charset=utf-8\r\n"; $head .= "Content-Transfer-Encoding: 8bit\r\n\r\n"; } if (mail($to, $subj, $msg, $head) ) echo '<p style = "color:#fff">Thank you for your message!</p>'; else echo '<p style = "color:#fff">You message didnt send!</p>';
|