最近工作中有用到生成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页面生成工具源码》是一个专注于创建互动式HTML5页面的开发资源,主要服务于希望通过数字化手段提升宣传效果、创新互动体验的用户。H5,即HTML5,是超文本标记语言的第五个版本,具有更强的多媒体支持、更好...
鲁班H5是基于Vue2.0开发的,通过拖拽的形式,生成页面的工具,类似易企秀、百度H5等工具。 鲁班H5特征: 1、编辑器 参考线 吸附线、组件对齐 拽改变组件形状 元素: 复制(画布) 元素: 删除(画布) 元素: ...
《鲁班H5页面生成工具 v1.17.0》是一款专为用户设计的高效、易用的H5页面制作软件。此版本为v1.17.0,提供了丰富的功能和优化的用户体验,旨在帮助用户快速创建出专业级别的互动网页。这款工具尤其适合那些对网页...
2. **转换数据格式**:将获取到的二进制数据转换为Blob对象,然后使用URL.createObjectURL()方法生成一个可以加载到页面的数据URL。 3. **加载PDF.js**:在HTML文件中引入PDF.js库,通常包括`pdf.js`和`pdf.worker....
在当前的数字化时代,H5(HTML5)已经成为制作互动网页和移动端应用的重要工具,而“生成图片_H5生成海报代码_”这个标题暗示了我们将会探讨如何利用H5技术来创建可自定义的海报图像,并允许用户进行下载。...
在本文中,我们将深入探讨如何使用Vue.js框架和H5技术来创建一个仿微信通讯录功能,该功能包括按字母和汉字首字母分类排序、页面滚动、拼音首字母搜索以及处理特殊字符。这个项目的核心是根据JavaScript文件中的数据...
在当今Web开发领域,Vue.js已成为构建单页应用(SPA)的强大工具,而H5页面则因其跨平台特性而广泛应用于移动端。Vue编写H5页面的方法不仅能够带来开发效率的提升,还能通过现代前端技术实现优秀的用户体验。下面...
本教程将详细讲解如何在uniapp移动端通过H5实现PDF和其他文件的在线预览功能。通过提供的源码和注解,开发者可以深入理解其实现机制,并在自己的项目中进行应用。 首先,我们需要了解uniapp的组件系统。uniapp允许...
鲁班H5是基于Vue2.0开发的,通过拖拽的形式,生成页面的工具,类似易企秀、百度H5等工具。 鲁班H5特征: 1、编辑器 参考线 吸附线、组件对齐 拽改变组件形状 元素: 复制(画布) 元素: 删除(画布) 元素: ...
首先,确保你的H5页面允许跨域请求(CORS),然后在`<iframe>`的`src`属性中设置PDF文件的URL。例如: ```html ...
H5兼容页面H5兼容页面H5兼容页面H5兼容页面H5兼容页面H5兼容页面
【标题】:“h5页面模版源码,很不错的例子” 这个标题暗示了我们讨论的主题是关于HTML5页面模板的源代码。HTML5是现代网页开发的基石,它提供了丰富的功能和元素,使得开发者能够创建出更加交互式、动态且响应式的...
html5新标签的使用,结合了一些实例来演示标签的使用和说明
Vue2.0开发的,经过拖拽的方式,生成页面的工具,相似易企秀、百度H5等工具。 鲁班H5特征: 1、编辑器 参考线 吸附线、组件对齐 拽改动组件外形 元素: 复制(画布) 元素: 删除(画布) 元素: 编辑(画布) ...
这些文件共同构成了H5一键生成工具的后台和前端部分,用户可以通过编辑配置文件、修改JavaScript代码等方式对工具进行个性化定制,以满足特定需求。通过这个源码包,用户不仅可以创建H5场景应用,还可以学习到Web...
现在,我们关注这个压缩包中的"PC注册H5页面",这很可能是源代码文件夹,里面可能包含了HTML文件(包含页面结构和内容)、CSS文件(定义样式)和JavaScript文件(实现交互功能)。通过分析这些文件,开发者可以了解...
找到你的H5页面文件或文件夹,选中并导入。确保在弹出的对话框中选择"Copy items if needed",这样H5资源会被复制到项目目录下。 步骤二:创建URL路径 为了在原生代码中访问H5页面,我们需要构建一个本地URL。假设...
在小程序和H5场景中,生成二维码通常用于引导用户快速打开相应的内容或页面。 小程序生成二维码主要涉及到以下几个步骤: 1. **数据编码**:你需要将要跳转的小程序页面路径或者参数编码成URL格式,这是生成二维码...
码良是一个在线生成h5页面并提供页面管理和页面编辑的平台,用于快速制作H5页面。用户无需掌握复杂的编程技术,通过简单拖拽、少量配置即可制作精美的页面,可用于营销场景下的页面制作,同时,也为开发者提供了完备...