求教一个下载DOC文件的代码!

浏览:900 发布日期:2018/01/29 分类:ThinkPHP5专区
下载文件的PHP,点击按钮以后已经生成了WORD了,但是DOWN.PHP文件出错了,不知道是怎么错的,var_dump($filename);打印的时候数据都是空的,求教大神。。。怎么整。下面是几个页面的代码



模板按钮代码<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();
最佳答案
评论( 相关
后面还有条评论,点击查看>>