ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

ThinkPHP3使用PHPWord修改模板并下载

2022-09-09 08:32:32  阅读:287  来源: 互联网

标签:saveFile ThinkPHP3 PHPWord person file ThinkPHP document 模板 row


下载(直接覆盖到/ThinkPHP目录)

https://files.cnblogs.com/files/sunr/ThinkPHP_PHPWord.zip?t=1662682605

PHP

$row=(new PersonModel())->find(\session('person_id'));
//模板及临时文件目录
$tempPath='./doc_templet/';
//模板文件
$templetFile=$tempPath.'resume1.docx';
//临时文件
$saveFile=$tempPath.'resume_'.\session('person_id').'.docx';
//加载PHPWord
require_once('./ThinkPHP/Library/Vendor/phpword/PhpWord.php');
require_once('./ThinkPHP/Library/Vendor/phpword/Settings.php');
require_once('./ThinkPHP/Library/Vendor/phpword/TemplateProcessor.php');
require_once('./ThinkPHP/Library/Vendor/phpword/Shared/ZipArchive.php');
require_once('./ThinkPHP/Library/Vendor/phpword/Shared/Text.php');
//引入模板
$document=new \PhpOffice\PhpWord\TemplateProcessor($templetFile);
//替换变量
$document->setValue('name',$row['person_name']);
$document->setValue('sex',$row['person_sex']);
$document->setValue('time',\date('Y-m-d H:i:s'));
//替换图片
$document->setImageValue('photo_',[
	'path'=>$row['person_photo_'],
	'width'=>120,
	'height'=>180,
]);

//保存临时文件
$document->saveAs($saveFile);
//下载(直接输出到浏览器)
ob_clean();
ob_start();
$fp = fopen($saveFile,"r");
$file_size = filesize($saveFile);
Header("Content-type:application/octet-stream");
Header("Accept-Ranges:bytes");
Header("Accept-Length:".$file_size);
Header("Content-Disposition:attchment; filename=".\site('name').'_简历_'.$row['person_name'].'.docx');
$buffer = 1024;
$file_count = 0;
while (!feof($fp) && $file_count < $file_size){
	$file_con = fread($fp,$buffer);
	$file_count += $buffer;
	echo $file_con;
}
fclose($fp);
ob_end_flush();
//删除文件
//\path_delete($saveFile);

标签:saveFile,ThinkPHP3,PHPWord,person,file,ThinkPHP,document,模板,row
来源: https://www.cnblogs.com/sunr/p/16671432.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有