当前位置:网站首页>Thinkphp3 use phpword to modify the template and download it

Thinkphp3 use phpword to modify the template and download it

2022-06-25 12:25:00 sr_ www

Library Download :PHPWord download , Direct coverage to ThinkPHP root directory

$row=(new PersonModel())->find(\session('person_id'));
// Template and temporary file directory 
$tempPath='./doc_templet/';
// Template file 
$templetFile=$tempPath.'resume1.docx';
// The temporary file 
$saveFile=$tempPath.'resume_'.\session('person_id').'.docx';
// load 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');
// Import template 
$document=new \PhpOffice\PhpWord\TemplateProcessor($templetFile);
// Replace variable 
$document->setValue('name',$row['person_name']);
$document->setValue('sex',$row['person_sex']);
$document->setValue('time',\date('Y-m-d H:i:s'));
// Replace picture 
$document->setImageValue('photo_',[
	'path'=>$row['person_photo_'],
	'width'=>120,
	'height'=>180,
]);

// Save temporary files 
$document->saveAs($saveFile);
// download ( Output directly to the browser )
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').'_ resume _'.$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();
// Delete file 
//\path_delete($saveFile);
原网站

版权声明
本文为[sr_ www]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202200532457771.html