【发布时间】:2011-01-04 09:38:58
【问题描述】:
我收到了接受附件并发送附件的表格,但如果是文档,则为空白:
$fileatt = $_FILES['file']['tmp_name']; $fileattType = $_FILES['file']['type']; $fileattName = $_FILES['file']['name']; $file = fopen($fileatt,'rb'); $data = fread($file,filesize($fileatt)); fclose($文件); $semi_rand = md5(时间()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; $headers = "来自:$email"; $headers .= "\nMIME-Version: 1.0\n" 。 “内容类型:多部分/混合;\n”。 " 边界=\"{$mime_boundary}\""; $content = "用户信息"; $content = "这是一条 MIME 格式的多部分消息。\n\n" . "--{$mime_boundary}\n" 。 “内容类型:文本/纯文本;字符集=\”iso-8859-1\“\n”。 “内容传输编码:7bit\n\n”。 $内容。 "\n\n"; $data = chunk_split(base64_encode($data)); $content .= "--{$mime_boundary}\n" 。 “内容类型:{$fileattType};\n”。 " name=\"{$fileattName}\"\n" 。 “内容处置:附件;\n”。 " 文件名=\"{$fileattName}\"\n" 。 “内容传输编码:base64\n\n”。 $数据。 “\n\n”。 "--{$mime_boundary}--\n"; $send = mail("user@provider.com", "Form", $content, $headers); 如果($发送) header('位置:成功页面'); 别的 header('位置:失败页面');电子邮件发送正确,附件名称、文件类型和文件大小正确。打开的时候是空的。
我从 sitepoint 获得了教程:http://articles.sitep... ... mail-php/5
我测试了他们提供的文件,同样的事情发生了。任何想法都会很棒。谢谢大家!
【问题讨论】:
-
这不是PHPBB.....不要使用
[code]标签。 -
我在异地服务器上尝试了我的代码。我保持文件完全一样,我什至留下了 ini_set 调用: ini_set("SMTP","smtp.server.com"); ini_set("smtp_port","25"); ini_set("sendmail_from","$email");让我相信问题出在 php 所在的 Web 服务器上。有什么想法吗?
标签: php attachment