Я получил форму, чтобы принять вложение и отправить вложение, но если это документ, это пустой:PHP вложение почты пустой
$fileatt = $_FILES['file']['tmp_name']; $fileattType = $_FILES['file']['type']; $fileattName = $_FILES['file']['name']; $file = fopen($fileatt,'rb'); $data = fread($file,filesize($fileatt)); fclose($file); $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; $headers = "from: $email"; $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\""; $content = "Info about user"; $content = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"iso-8859-1\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $content . "\n\n"; $data = chunk_split(base64_encode($data)); $content .= "--{$mime_boundary}\n" . "Content-Type: {$fileattType};\n" . " name=\"{$fileattName}\"\n" . "Content-Disposition: attachment;\n" . " filename=\"{$fileattName}\"\n" . "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n" . "--{$mime_boundary}--\n"; $send = mail("[email protected]", "Form", $content, $headers); if($send) header('Location: success page'); else header('Location: fail page');
Электронная почта посылает правильно, есть вложение с правильным именем, файл тип и размер файла. когда он открывается, он пуст.
Я получил урок от SitePoint: http://articles.sitep ... ... почты PHP/5
Я проверил файлы, которые они обеспечивают, и то же самое происходит. Любые идеи были бы замечательными. всем спасибо!
Это не PHPBB ..... Не используй '[код]' тег. –
Я пробовал свой код на удаленном сервере. Я сохранил файл точно так же, я даже оставил вызовы ini_set: ini_set («SMTP», «smtp.server.com»); ini_set ("smtp_port", "25"); ini_set ("sendmail_from", "$ email"); Приводит меня к мысли, что проблема связана с веб-сервером, на котором сидит php. Есть идеи? – dcp3450