ada*_*ven 67 php file-upload phpmailer email-attachments
我有一个表格example.com/contact-us.php就像这样(简化):
<form method="post" action="process.php" enctype="multipart/form-data">
<input type="file" name="uploaded_file" id="uploaded_file" />
<input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
</form>
Run Code Online (Sandbox Code Playgroud)
在我的process.php文件中,我使用以下代码PHPMailer()发送电子邮件:
require("phpmailer.php");
$mail = new PHPMailer();
$mail->From = me@example.com;
$mail->FromName = My name;
$mail->AddAddress(me@example.com,"John Doe");
$mail->WordWrap = 50;
$mail->IsHTML(true);
$mail->Subject = "Contact Form Submitted";
$mail->Body = "This is the body of the message.";
Run Code Online (Sandbox Code Playgroud)
电子邮件正确发送正文,但没有附件uploaded_file.
我的问题
我需要将uploaded_file表单中的文件附加到电子邮件中,然后发送.process.php脚本在电子邮件中发送文件后,我不关心保存文件.
我知道我需要在AddAttachment();某处添加(我假设在线下Body)以便发送附件.但...
process.php文件的顶部放入什么来拉入文件uploaded_file?喜欢使用$_FILES['uploaded_file']从contact-us.php页面提取文件的东西?AddAttachment();对文件进行连接,并与邮件一起发送并在这段代码需要去?请帮忙并提供代码!谢谢!
dre*_*010 103
尝试:
if (isset($_FILES['uploaded_file']) &&
$_FILES['uploaded_file']['error'] == UPLOAD_ERR_OK) {
$mail->AddAttachment($_FILES['uploaded_file']['tmp_name'],
$_FILES['uploaded_file']['name']);
}
Run Code Online (Sandbox Code Playgroud)
基本示例也可以在这里找到.
函数定义AddAttachment是:
public function AddAttachment($path,
$name = '',
$encoding = 'base64',
$type = 'application/octet-stream')
Run Code Online (Sandbox Code Playgroud)
小智 6
在HTML表单中,我没有添加以下行,因此没有附件:
ENCTYPE ="多部分/格式数据"
在形式上面添加上面的线(如下所示)后,附件变得完美.
<form id="form1" name="form1" method="post" action="form_phpm_mailer.php" enctype="multipart/form-data">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
181134 次 |
| 最近记录: |