php 导出 并下载word 文档

最近工作需要,要将网页上可以显示的内容,保存到word里,并下载查看。

参考了别人的,现在记录一下:

//首先要添加一个类文件
class word
{ 
    function start()
    {
        ob_start();
        echo '<html xmlns:o="urn:schemas-microsoft-com:office:office"
        xmlns:w="urn:schemas-microsoft-com:office:word"
        xmlns="http://www.w3.org/TR/REC-html40">';
    }
    function save($path)
    {
 
        echo "</html>";
        $data = ob_get_contents();
        ob_end_clean();
 
        $this->wirtefile ($path,$data);
    }
 
    function wirtefile ($fn,$data)
    {
        $fp=fopen($fn,"wb");
        fwrite($fp,$data);
        fclose($fp);
    }
}
//定义一个字符串
$html = ' 
<h1>你好啊</h1> 
<h2>欢迎光临<a href="http://www.dawnfly.cn">破晓博客</a></h2>
<img src="http://www.dawnfly.cn/Source/home/top_ad.jpg" alt="">
';
 
    $word = new word(); 
    $word->start(); 
    $wordname = "欢迎光顾破晓博客网站,技术交流与学习的平台.doc"; 
    $wordname = iconv('UTF-8','GBK',   $wordname);//防止乱码
    $html=iconv('UTF-8','GBK',  $html); //防止乱码
    echo $html;
    $word->save('C:/Users/Administrator/Desktop/'.$wordname); //可以自定义保存路径
    ob_flush();//每次执行前刷新缓存 
    flush();

这个效果是在你目录中生成一个word文档,不会下载到浏览器端;

下面这个可以下载到用户端:

    <?php  
    echo '  
    <html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">  
    <head>  
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>  
    <xml><w:WordDocument><w:View>Print</w:View></xml>  
    </head>';  
    echo '<body>  
    <h1 style="text-align: center">xxx的简历</h1>  
    <h3>编号:000001</h3>  
    <table border="1" cellpadding="3" cellspacing="0" >  
    <tr >  
    <td width="93" valign="center" colspan="2" >姓名</td>  
    <td width="160" valign="center" colspan="4" >xxx</td>  
    <td width="89" valign="center" colspan="2" >学历</td>  
    <td width="156" valign="center" colspan="3" >xxx</td>  
    <td width="125" colspan="2" rowspan="4" align="center" valign="middle" ><!--<img src="" width="120" height="120" />--></td>  
    </tr>  
    <tr >  
    <td width="93" valign="center" colspan="2" >性别</td>  
    <td width="72" valign="center" colspan="2" >xxx</td>  
    <td width="88" valign="center" colspan="2" >出生年月</td>  
    <td width="89" valign="center" colspan="2" >xxx</td>  
    <td width="68" valign="center" >户籍地</td>  
    <td width="87" valign="center" colspan="2" >xxx</td>  
    </tr>  
    <tr >  
    <td width="93" valign="center" colspan="2" >身高</td>  
    <td width="72" valign="center" colspan="2" >xxxcm</td>  
    <td width="88" valign="center" colspan="2" >体重</td>  
    <td width="89" valign="center" colspan="2" >xxxkg</td>  
    <td width="68" valign="center" >婚姻状况</td>  
    <td width="87" valign="center" colspan="2" >xxx</td>  
    </tr>  
    <tr >  
    <td width="93" valign="center" colspan="2" >手机</td>  
    <td width="160" valign="center" colspan="4" >xxx</td>  
    <td width="89" valign="center" colspan="2" >Email</td>  
    <td width="156" valign="center" colspan="3" >xxx</td>  
    </tr>  
    <tr >  
    <td width="93" valign="center" colspan="2"  style="width:93px;">家庭住址</td>  
    <td width="530" valign="center" colspan="11" >xxx</td>  
    </tr>  
    <tr >  
    <td width="93" valign="center" colspan="2" rowspan="3">求职意向</td>  
    <td width="93" valign="center" colspan="2">希望从事职业</td>  
    <td width="200" valign="center" colspan="2">xxx</td>  
    <td width="93" valign="center" colspan="2">希望薪资</td>  
    <td width="200" valign="center" colspan="5">xxx元/月</td>  
    </tr>  
    <tr>  
    <td width="93" valign="center" colspan="2" >希望工作地区</td>  
    <td width="200" valign="center" colspan="2" >xxx</td>  
    <td width="93" valign="center" colspan="2" >食宿要求</td>  
    <td width="200" valign="center" colspan="5" >xxx</td>  
    </tr>  
    <tr>  
    <td width="93" valign="center" colspan="2" >目前状况</td>  
    <td width="200" valign="center" colspan="9" >xxx</td>  
    </tr>  
    <tr>  
    <td width="93" valign="center" >自我评价</td>  
    <td width="570" valign="center" colspan="12" >xxx</td>  
    </tr>  
    <tr>  
    <td width="93" valign="center" >工作经历</td>  
    <td width="570" valign="center" colspan="12" >xxx</td>  
    </tr>  
    <tr>  
    <td width="93" valign="center" >教育经历</td>  
    <td width="570" valign="center" colspan="12" >xxx</td>  
    </tr>  
    <tr>  
    <td width="93" valign="center" >培训经历</td>  
    <td width="570" valign="center" colspan="12" >xxx</td>  
    </tr>  
    </table>  
    </body>';  
    ob_start(); //打开缓冲区  
    header("Cache-Control: public");  
    Header("Content-type: application/octet-stream");  
    Header("Accept-Ranges: bytes");  
    if (strpos($_SERVER["HTTP_USER_AGENT"],'MSIE')) {  
    header('Content-Disposition: attachment; filename=test.doc');  
    }else if (strpos($_SERVER["HTTP_USER_AGENT"],'Firefox')) {  
    Header('Content-Disposition: attachment; filename=test.doc');  
    } else {  
    header('Content-Disposition: attachment; filename=test.doc');  
    }  
    header("Pragma:no-cache");  
    header("Expires:0");  
    ob_end_flush();//输出全部内容到浏览器  
发布了0 篇原创文章 · 获赞 0 · 访问量 789

猜你喜欢

转载自blog.csdn.net/w844916072/article/details/104204472
今日推荐