php把html网页生成doc格式的word文件

2014年04月08日 15:44 by:老修

导读: 老修写的一个简单的php生成doc格式word文件的方法, 方法是把html格式的字符串生成doc格式的word文档. 生成的doc word文件优点是打开速度快, 方便用户下载和使用.

放一个我自己在用的php生成word文档的代码, 这段代码简单好用, 方法是把html格式的字符串生成doc格式的word文档.  这个方法百试不爽, 代码简单, 生成的doc word文件优点是打开速度快, 方便用户下载和使用.

  1. <?php
  2. //Copyright By: www.lao8.org
  3. $title = "PHP生成doc文件";
  4. $html='<h1>PHP生成doc文件-老吧博客</h1>
  5. <p>php生成doc格式的word文档还是比较简单的, 主要就是注意创建中文名文件容易出错, 创建前先用iconv转换一下就可以了.</p>
  6. <p>php生成doc格式的word文档还是比较简单的, 主要就是注意创建中文名文件容易出错, 创建前先用iconv转换一下就可以了.</p>
  7. <p>使用方法比较简单, 直接输出就行了: echo cword($data, filename) </p>
  8. <p>使用方法比较简单, 直接输出就行了: echo cword($data, filename) </p>
  9. <p>本段程序由<a href="http://www.lao8.org">老吧博客</a>提供:</p>
  10. ';
  11. //使用方法-------------------------
  12. echo (cword($html,iconv("UTF-8","GB2312//IGNORE",$title))); //转换中文并忽视错误
  13. //----------------------------------------

  14. function cword($data,$fileName=''){
  15. if(empty($data)) return '';
  16. $data='<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">'.$data.'</html>';
  17. $dir = "./docfile/".date("Ymd")."/";
  18. if(!file_exists($dir)) mkdir($dir,777,true);
  19. if(empty($fileName)) {
  20. $fileName=$dir.date('His').'.doc';
  21. }else{
  22. $fileName =$dir.$fileName.'.doc';
  23. }
  24. $writefile=fopen($fileName,'wb') or die("创建文件失败");//wb以二进制写入
  25. fwrite($writefile,$data);
  26. fclose($writefile);
  27. return $fileName;
  28. }
  29. ?>
老修原创文章, 转载请备注出处.