最近工作中有用到生成word文档及发送该附件的邮件。先说说我的思路和流程吧;
1.在后台用PHP将数据组合拼接成HTML格式;
2.生成带数据(HTML)的word文档(生成到项目对应的目录下);
3.配置发送邮件的信息(如邮件的host/port/username等);
第一步:我们先将数据组装拼接成HTML格式 代码如下:
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
//有了这些,可以把带html标签的html源码导入到word里,并且可以保持html的样式。
$wordStr = '<html xmlns:o="urn:schemas-microsoft-com:office:office"xmlns:w="urn:schemas-microsoftcom:office:word" xmlns="http://www.w3.org/TR/REC-html40">
<head>
</head><body>';
$wordStr .= '<div class="print-container"><div class="print-header"><h1>家访记录汇总</h1></div><div class="print-content">';
for($i=1;$i<=14;$i++){
$wordStr .= $this->getWordContent($i,$roomid); //拼接数据
}
$wordStr .= '</div></div>';
$wordStr .= '</body></html>';
第2步.生成word文件到项目对应的目录下;
$file = rand(10000000,99999999).'.docx';
//保存文件到目录
$savefile = $file;
$attachDir = C("resourceFilesUpload");//上传文件保存路径,结尾不要带/
$attachDir_show = C("resourceFilesView");
$attachSubDir = 'visitdoc_'.date('ymd');
$attachDir = $attachDir.'/'.$attachSubDir;
if(!is_dir($attachDir))
{
@mkdir($attachDir, 0777);
}
$tempPath = $attachDir.'/'.$savefile;
file_put_contents($tempPath,file_get_contents("php://input"));
$myfile = fopen($tempPath, "a");
fwrite($myfile, $wordStr);//写入内容
fclose($myfile);//关闭该操作
3.配置发送邮件的信息(如邮件的host/port/username等);
//获取保存文件后的地址
$fileurl = $_SERVER["DOCUMENT_ROOT"]."/Public/upload/".$attachSubDir.'/'.$savefile;
//注意这里不能用网络地址 如www.baidu.com/image/xxx.jpg
//邮件title
$emaildesc = "您好:<br/>";
$emaildesc .= "<b>家访记录汇总, 请打开附件查看</b><br/>";
$emaildesc .= "此致,晓黑板";
//引用邮件发送类
require THINK_PATH.'Extend/Emailsend/MySendMailNew.php';
$mail = new MySendMailNew();
$mail->setServer($this->emailhost, $this->username, $this->password); //你的邮件配置
$mail->setFrom($this->fromemail);
$mail->setReceiver($email);
$mail->setMailInfo($fileName, $emaildesc, $fileurl);
$mail->sendMail();
//$this->success("邮件发送成功,请及时打开邮箱查看");
return true;
效果如下:
1.生成的word文件
2.邮件发送后效果:
邮寄发送类的代码见下面附件
相关推荐
鲁班H5是基于Vue2.0开发的,通过拖拽的形式,生成页面的工具,类似易企秀、百度H5等工具。 鲁班H5特征: 1、编辑器 参考线 吸附线、组件对齐 拽改变组件形状 元素: 复制(画布) 元素: 删除(画布) 元素: ...
鲁班H5页面生成工具源码
移动端H5+JS页面直接查看PDF文件,纯H5的将pdf通过canvas重新绘制成数据流,展示到页面上。
鲁班H5页面生成工具 v1.17.0.zip
H5代码生成海报图并下载,澎湃新闻APP生成海报图
鲁班H5是基于Vue2.0开发的,通过拖拽的形式,生成页面的工具,类似易企秀、百度H5等工具。 鲁班H5特征: 1、编辑器 参考线 吸附线、组件对齐 拽改变组件形状 元素: 复制(画布) 元素: 删除(画布) 元素: ...
H5兼容页面H5兼容页面H5兼容页面H5兼容页面H5兼容页面H5兼容页面
h5页面模版源码 ,非常酷炫的html5模板 ,可以直接使用,也可以参考学习
html5新标签的使用,结合了一些实例来演示标签的使用和说明
Vue2.0开发的,经过拖拽的方式,生成页面的工具,相似易企秀、百度H5等工具。 鲁班H5特征: 1、编辑器 参考线 吸附线、组件对齐 拽改动组件外形 元素: 复制(画布) 元素: 删除(画布) 元素: 编辑(画布) ...
在本篇内容里小编给大家整理了关于vue写h5页面的方法以及注意点分析,有需要的朋友们跟着学习下吧。
uniapp移动端H5在线预览PDF等文件实现源码及注解:https://a-jing.blog.csdn.net/article/details/120744302
用户协议样式模板后h5页面
自己编写的用matlab创建H5文件和读取h5文件的程序
H5手机站页面,列表页+内容页
直接放到app里面的H5页面,用到了axios和vue.js。ajax接受数据
H5多种加载效果loading,H5页面加载中动画,炫酷的加载中动画
Java自动生成H5游戏资源版文件的版本号,用java + svn组合实现的程序 对应文章的代码实现的配套程序