PHP邮件附件是空白的

I got the form to accept an attachment and send the attachment but if it's a doc it's blank:

   $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 .= "
MIME-Version: 1.0
" .
        "Content-Type: multipart/mixed;
" .
        " boundary=\"{$mime_boundary}\"";

   $content = "Info about user";

   $content = "This is a multi-part message in MIME format.

" .
        "--{$mime_boundary}
" .
        "Content-Type: text/plain; charset=\"iso-8859-1\"
" .
        "Content-Transfer-Encoding: 7bit

" .
        $content . "

";

   $data = chunk_split(base64_encode($data));

   $content .= "--{$mime_boundary}
" .
        "Content-Type: {$fileattType};
" .
        " name=\"{$fileattName}\"
" .
        "Content-Disposition: attachment;
" .
        " filename=\"{$fileattName}\"
" .
        "Content-Transfer-Encoding: base64

" .
        $data . "

" .
        "--{$mime_boundary}--
";

   $send = mail( "user@provider.com", "Form", $content, $headers);
         if($send)
            header('Location: success page');
         else
            header('Location: fail page');

The email sends correctly, there is an attachment with the correct name, file type, and file size. when it opens it is empty.

I got the tutorial from sitepoint: http://articles.sitep... ... mail-php/5

I tested the files they provide and the same thing happens. Any ideas would be great. thanks everyone!

Welcome to SO.

This is not a direct answer to your question, but I would recommend you use a ready-made mailing class like PHPMailer. It has all the quirks, encoding and attaching functions already built in, which is much less error-prone than doing it by hand. If you want to go that way, maybe this collection of tutorial links on PHPMailer will help you get started.

Why not use a decent library for sending emails?

I strongly suggest you start using a library for sending emails, it eases the process of writing emails and makes the code a lot more transient.

I can vouch for Swiftmailer, an actively developed library with excellent features.

Especially complicated tasks like attachments, inline images and multiple recipients are implemented easily.

I would strongly recommend using a preexisting tool to send emails, such as Swift. There are a lot of caveats that it will take care of for you, and it's quite easy to use.

Perhaps you could use instead of those