zoukankan      html  css  js  c++  java
  • PHP生成word的方法(解决乱码问题)

    <?php
    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,iconv("UTF-8","GBK",$data));
    fclose($fp);
    }
    }
    $html = ' 
    <table width=600 cellpadding="6" cellspacing="1" bgcolor="#336699"> 
    <tr bgcolor="White"> 
      <td>PHP10086</td> 
      <td><a href="http://www.php10086.com" target="_blank" >http://www.php10086.com</a></td> 
    </tr> 
    <tr bgcolor="red"> 
      <td>PHP10086</td> 
      <td><a href="http://www.php10086.com" target="_blank" >http://www.php10086.com</a></td> 
    </tr> 
    <tr bgcolor="White"> 
      <td colspan=2 > 
      PHP10086<br> 
      最靠谱的PHP技术博客分享网站 
      <img src="http://www.php10086.com/wp-content/themes/WPortal-Blue/images/logo.gif"> 
      </td> 
    </tr> 
    </table> 
    '; 
     
    //批量生成 
    for($i=1;$i<=3;$i++){ 
        $word = new word(); 
        $word->start(); 
        //$html = "aaa".$i; 
        $wordname = 'PHP10086.com'.$i.".doc"; 
        echo $html; 
        $word->save($wordname); 
        ob_flush();//每次执行前刷新缓存 
        flush(); 
    }
    ?>

    网上普遍都有这个方法,但是真正运行起来 文件名如果是中文的情况下 会是乱码,而word的汉字也是乱码,必须用

    iconv("UTF-8","GBK",$data)转化字符编码才能正常显示汉字
  • 相关阅读:
    PHP序列化和反序列化
    移动端纯css超出盒子出现横向滚动条
    css3盒子flex
    css怎么设置2个div同行,第一个固定宽度,第二个占满剩余的部分
    PHP对象基础
    常用header头
    【转载】文件上传那些事儿,文件ajax无刷上传
    简单工厂模式(Simple Factory Pattern)
    单例模式(singleton)
    UML类图
  • 原文地址:https://www.cnblogs.com/tudou1223/p/3983015.html
Copyright © 2011-2022 走看看