从表单发送文件附件使用phpMailer和PHP

我有一个example.com/contact-us.php上的表单,看起来像这样(简化):

在我的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.";

电子邮件正确发送正文,但没有upload_file的附件。

我的问题

我需要将表单中的文件uploaded_file附加到电子邮件中,然后发送。 在process.php脚本在电子邮件中发送它之后,我不关心保存文件。

我明白,我需要添加AddAttachment(); 某处(我正在假设在Body线下)附件发送。 但…

我在process.php文件的顶部放入什么文件uploaded_file ? 就像使用$_FILES['uploaded_file']从contact-us.php页面拉取文件一样?

AddAttachment();里面有什么? 要将该文件连同电子邮件一起发送,这些代码需要去哪里?

请帮助并提供代码!谢谢!

尝试:

if (isset($_FILES['uploaded_file']) && $_FILES['uploaded_file']['error'] == UPLOAD_ERR_OK) { $mail->AddAttachment($_FILES['uploaded_file']['tmp_name'], $_FILES['uploaded_file']['name']); }

基本的例子也可以在这里find。

AddAttachment的函数定义是:

public function AddAttachment($path, $name = '', $encoding = 'base64', $type = 'application/octet-stream')

文件无法从客户端PC上载(上传)

在HTML表单中,我没有添加下面的行,所以没有附件:

ENCTYPE =“多部分/格式数据”

在forms上添加上面的行(如下)后,附件变得完美了。

您将使用$_FILES['uploaded_file']['tmp_name'] ,这是PHP存储上传文件的path(这是一个临时文件,在脚本结束时由PHP自动删除,除非您移动/复制别处)。

假设您的客户端表单和服务器端上传设置是正确的,那么您就不需要做任何事情来“上传”上传。 它会神奇地在tmp_namepath中可用。

请注意,你将不得不validation上传实际上是成功的,例如

if ($_FILES['uploaded_file']['error'] === UPLOAD_ERR_OK) { ... attach file to email ... }

否则,您可能会尝试使用损坏/部分/不存在的文件进行附件。

此代码帮助我在附件发送….

$mail->AddAttachment($_FILES['file']['tmp_name'], $_FILES['file']['name']);

用上面的代码replace您的AddAttachment(…)代码

php表单附件数据回填,从表单发送文件附件使用phpMailer和PHP相关推荐

  1. 表单及数据提交、表单的作用、服务端接收提交的数据、php处理数据流程、文件域及文件域中数据处理、php展示数据(响应)

    表单及数据提交: 表单的作用: 用于收集相关信息:html中有专门提交数据的标签,可以很容易的收集用户输入的信息,这个标签有两个重要的属性:action表单提交的地址和method以什么方式提交表单, ...

  2. 按照下面的页面做一个用户注册的Sevlet,要求自己设计表,并将表单的数据写入到表中。

    按照下面的页面做一个用户注册的Sevlet,要求自己设计表,并将表单的数据写入到表中. 表单代码如下:(register.html) <!DOCTYPE html> <html la ...

  3. 5.3.2 表单内数据的获取 -表单的使用- 常用语法【uni-app教程uniapp教程(黄菊华-跨平台开发系列教程)】

    5.3.2 表单内数据的获取 在表单的组件,我们需要定义name的值,然后我们在提交表单的时候,就可以通过name获取对应的值,获取内容的格式如下: e.detail.value.组件的name 提示 ...

  4. form表单校验复杂系列--- form表单内插入独立的数据表格,动态校验数据表格内每行的文件上传

    form表单校验复杂系列- form表单内插入独立的数据表格,动态校验数据表格内每行的文件上传 前言 公司项目有个模块需要优化form表单内,插入独立的数据表格,表格内容是文件上传,需要利用外部表单提 ...

  5. struts2.0获取各种表单的数据

    转自:http://www.2cto.com/kf/201107/97883.html 后台代码: 1 import java.util.List; 2 import com.opensymphony ...

  6. 文件表单带数据一起提交spring_基于 Spring 实现管道模式的最佳实践

    管道模式(Pipeline Pattern) 是 责任链模式(Chain of Responsibility Pattern) 的常用变体之一.在管道模式中,管道扮演着流水线的角色,将数据传递到一个加 ...

  7. Jsp表单提交数据乱码问题

    Jsp表单提交数据出现乱码 这个问提真的就纠结了好多天.太复杂了.说是涉及到到jsp文件的存储格式,又有解码格式,还有浏览器的解码格式. 1. 网上说了很多方法,我觉得更改server.xml文件这个 ...

  8. Django(part17)--form表单提交数据

    学习笔记,仅供参考,有错必纠 form表单 form表单的主要作用是和服务器进行交互,为服务器端提供数据. name属性 form表单有name属性,name属性类似于客户端与服务器端之间的约定. f ...

  9. java向注册表单传递数据php_PHP提交from表单的方法

    PHP提交from表单的方法 PHP独特的语法混合了C.Java.Perl以及PHP自创的.语法.它可以比CGI或者Perl更快速地执行动态网页.下面是小编为大家搜索整理的PHP提交from表单的方法 ...

  10. js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题...

    js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题 js模拟form表单提交数据源码: /** * js模拟form表单提交 * @param ...

最新文章

  1. c#获取电脑硬件信息参数说明(主板篇 Win32_BaseBoard )
  2. Linux之Ansible入门用法(实验解析)
  3. php设计模式之单例模式 1
  4. MIUI 11或随小米MIX4共同发布 登场时间9月至10月间
  5. 【clickhouse】clickhouse UTC 时间带有时区 如何写入
  6. nginx的编译安装以及启动脚本编写
  7. 粉丝关注数据库表的设计
  8. 需求与商业模式分析-3-设计
  9. 解析函数的孤立奇点-复变函数
  10. JDBC+MySQL入门增删改查案例
  11. Codeforces Round #797 (Div. 3) F. Shifting String题解
  12. 跳跳涂鸦——向上跳动游戏(学习笔记)
  13. 高山养羊也可以运用GPS卫星定位系统
  14. 计算机网络 传输媒体 光缆,软考网络管理员笔记之计算机网络传输媒体
  15. 小米启用新域名mi.com
  16. CSS+html:天涯网页仿照制作
  17. Dubbo过滤器原理解析
  18. 学习笔记(11):Java小白修炼手册-一句话在Java中如何表达?快学Java字符串
  19. Matlab中ode45求解时报错:必须返回列向量。
  20. 学计算机常用到的英语,常用计算机英语词汇学习

热门文章

  1. hough变换是如何检测出直线和圆的?
  2. Hibernate框架(一)——总体介绍
  3. [翻译] 5点建议,让iOS程序跑得更快
  4. Linux C 实现改变输出字的颜色。
  5. UITextFiled 简介
  6. About scrum reports
  7. 不同方式遍历Map集合
  8. SpringBoot学习---页面国际化
  9. “ObjectContent`1”类型未能序列化内容类型“application/xml; charset=utf-8”的响应正文。
  10. ihttphandler ihttpmodule