2012-04-27 41 views
0

我使用以下代码发送带有电子邮件的单个附件。我使用phpmailer类:我知道这是一个非常简单和容易的事情,但它不起作用。发送一个附件

这是我的PHP调用;

$mail->AddAttachment($_FILES['attach']['name']); 

这是我的html;

<form id="Form" name="Form" method="POST" action="<?php $PHP_SELF ?>" enctype="multipart/form-data"> 
<input id="attach" name="attach" type="file" /> 

我也发送了一封电子邮件。电子邮件已发送,但附件不是。谁能帮我?

回答

1

封装与错误校验码的代码,所以你知道它是否工作:

if (!$mail->AddAttachment($filepath, $_FILES['attach']['name']) { 
    echo "Error attaching file at $filepath. Dumping variables to output."; 
    var_dump($_FILES['attach']); 
} 

注意你不能简单地将文件复制到该AddAttachment方法的名称;预计第一个参数是一个路径,按照PHPMailer API。你必须弄清楚这个路径是什么,然后还包括文件的名称。

+0

我试过了你的代码,这个错误是由附件错误附加文件造成的。将变量转储到output.array(5){[“name”] => string(9)“Hibha.jpg”[“type”] => string(10)“image/jpeg”[“tmp_name”] => string (14)“/ tmp/phptc7B0H”[“error”] => int(0)[“size”] => int(95187)} – 2012-04-27 21:14:04

+0

@HanyaIdrees我编辑了我的回复。 – 2012-04-27 21:16:27