php表单附件数据回填,从表单发送文件附件使用phpMailer和PHP
从表单发送文件附件使用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相关推荐
- 表单及数据提交、表单的作用、服务端接收提交的数据、php处理数据流程、文件域及文件域中数据处理、php展示数据(响应)
表单及数据提交: 表单的作用: 用于收集相关信息:html中有专门提交数据的标签,可以很容易的收集用户输入的信息,这个标签有两个重要的属性:action表单提交的地址和method以什么方式提交表单, ...
- 按照下面的页面做一个用户注册的Sevlet,要求自己设计表,并将表单的数据写入到表中。
按照下面的页面做一个用户注册的Sevlet,要求自己设计表,并将表单的数据写入到表中. 表单代码如下:(register.html) <!DOCTYPE html> <html la ...
- 5.3.2 表单内数据的获取 -表单的使用- 常用语法【uni-app教程uniapp教程(黄菊华-跨平台开发系列教程)】
5.3.2 表单内数据的获取 在表单的组件,我们需要定义name的值,然后我们在提交表单的时候,就可以通过name获取对应的值,获取内容的格式如下: e.detail.value.组件的name 提示 ...
- form表单校验复杂系列--- form表单内插入独立的数据表格,动态校验数据表格内每行的文件上传
form表单校验复杂系列- form表单内插入独立的数据表格,动态校验数据表格内每行的文件上传 前言 公司项目有个模块需要优化form表单内,插入独立的数据表格,表格内容是文件上传,需要利用外部表单提 ...
- struts2.0获取各种表单的数据
转自:http://www.2cto.com/kf/201107/97883.html 后台代码: 1 import java.util.List; 2 import com.opensymphony ...
- 文件表单带数据一起提交spring_基于 Spring 实现管道模式的最佳实践
管道模式(Pipeline Pattern) 是 责任链模式(Chain of Responsibility Pattern) 的常用变体之一.在管道模式中,管道扮演着流水线的角色,将数据传递到一个加 ...
- Jsp表单提交数据乱码问题
Jsp表单提交数据出现乱码 这个问提真的就纠结了好多天.太复杂了.说是涉及到到jsp文件的存储格式,又有解码格式,还有浏览器的解码格式. 1. 网上说了很多方法,我觉得更改server.xml文件这个 ...
- Django(part17)--form表单提交数据
学习笔记,仅供参考,有错必纠 form表单 form表单的主要作用是和服务器进行交互,为服务器端提供数据. name属性 form表单有name属性,name属性类似于客户端与服务器端之间的约定. f ...
- java向注册表单传递数据php_PHP提交from表单的方法
PHP提交from表单的方法 PHP独特的语法混合了C.Java.Perl以及PHP自创的.语法.它可以比CGI或者Perl更快速地执行动态网页.下面是小编为大家搜索整理的PHP提交from表单的方法 ...
- js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题...
js模拟form表单提交数据, js模拟a标签点击跳转,避开使用window.open引起来的浏览器阻止问题 js模拟form表单提交数据源码: /** * js模拟form表单提交 * @param ...
最新文章
- c#获取电脑硬件信息参数说明(主板篇 Win32_BaseBoard )
- Linux之Ansible入门用法(实验解析)
- php设计模式之单例模式 1
- MIUI 11或随小米MIX4共同发布 登场时间9月至10月间
- 【clickhouse】clickhouse UTC 时间带有时区 如何写入
- nginx的编译安装以及启动脚本编写
- 粉丝关注数据库表的设计
- 需求与商业模式分析-3-设计
- 解析函数的孤立奇点-复变函数
- JDBC+MySQL入门增删改查案例
- Codeforces Round #797 (Div. 3) F. Shifting String题解
- 跳跳涂鸦——向上跳动游戏(学习笔记)
- 高山养羊也可以运用GPS卫星定位系统
- 计算机网络 传输媒体 光缆,软考网络管理员笔记之计算机网络传输媒体
- 小米启用新域名mi.com
- CSS+html:天涯网页仿照制作
- Dubbo过滤器原理解析
- 学习笔记(11):Java小白修炼手册-一句话在Java中如何表达?快学Java字符串
- Matlab中ode45求解时报错:必须返回列向量。
- 学计算机常用到的英语,常用计算机英语词汇学习
热门文章
- hough变换是如何检测出直线和圆的?
- Hibernate框架(一)——总体介绍
- [翻译] 5点建议,让iOS程序跑得更快
- Linux C 实现改变输出字的颜色。
- UITextFiled 简介
- About scrum reports
- 不同方式遍历Map集合
- SpringBoot学习---页面国际化
- “ObjectContent`1”类型未能序列化内容类型“application/xml; charset=utf-8”的响应正文。
- ihttphandler ihttpmodule