模板按钮代码
<a class="btn btn-success" onclick="shengcheng()"><i class="fa fa-download"></i> 生成WORD</a>模板调用JS文件 function shengcheng(){
// data应为'a=a1&b=b1'这种字符串格式,在jq里如果data为对象会自动将对象转成这种字符串格式
var ajname = document.getElementById('ajname').value;
var bianhao= document.getElementById('bianhao').value;
var url = '/Template.php';
var data = 'ajname='+ajname+'&bianhao='+bianhao;
var obj = new XMLHttpRequest();
obj.open("POST", url, true);
obj.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); // 添加http头,发送信息至服务器时内容编码类型
obj.onreadystatechange = function() {
if (obj.readyState == 4 && (obj.status == 200 || obj.status == 304)) { // 304未修改
window.location.href = '/download.php?filename='+obj.responseText;
}
};
obj.send(data);
} template.php文件载入WORD模板并调换标签同时保存到空间里<?php
require_once 'vendor/autoload.php';
$data=$_POST;
$document = new \PhpOffice\PhpWord\TemplateProcessor('word.docx');
$document->setValue('卷名称', $data['ajname']);
$arrImagenes=array('src' => './123456.png');
$document->setImg('Image', $arrImagenes);
$filename = './word/'.date('md').$data['ajname'].'a'.'.docx';
$document->saveas($filename);
?>下载文件的PHP,到这里就出错了,点击按钮以后其实已经生成了WORD了,但是下面这个文件出错了,不知道是怎么错的,var_dump($filename);打印的时候数据都是空的,求教大神。。。怎么整。<?php
$filename = $_GET['filename'];
//var_dump($filename);
$fileinfo = pathinfo($filename);
$file=fopen($filename,"r");
header("Content-Type: application/octet-stream");
header("Accept-Ranges: bytes");
header("Accept-Length: ".filesize($filename));
header("Content-Disposition: attachment; filename=".$fileinfo['basename']);
echo fread($file,filesize($filename));
fclose($file);
exit(); 最佳答案