你并没有把上传上去的附件打开,然后用base64编码,写入邮件呀

$fp = fopen($DocumentFile,'r');
然后
$attachment = fread ($fp,filesize($DocumentFile));

$attachment_content = base64_encode($attachment)."\r\n";
然后把$attachment_content附加在分隔符后面看看呢

解决方案 »

  1.   

    函数如下:
    ---------------------------
    function readFileData($fileName,$fielSize)
    {
      if ($fp = fopen($fileName,"r"))
      {
       $buf = fread($fp, $fielSize)
        fclose($fp);
        return $buf;
      }
      else
      {
        echo "文件 $fileName_name 不能读取!<br/>";
        return 0;
      }
    }执行:
    ----------------------
    $docBuffer = readFileData($DocumentFile, $DocumentFile_size)执行后:
    ----------------------
    他说fclose($fp);这句出错,看不到错误原因;
    我把fclose($fp);去掉时,他又说return $buf;这句出错;各位帮帮忙呀:::))))
      

  2.   

    (1)用二进制的办法读
    (2)$buf = fread($fp, $fielSize)后面掉了分号了。function readFileData($fileName,$fielSize)
    {
      if ($fp = fopen($fileName,"rb"))
      {
       $buf = fread($fp, $fielSize);
        fclose($fp);
        return $buf;
      }
      else
      {
        echo "文件 $fileName_name 不能读取!<br/>";
        return 0;
      }
    }