>  기사  >  백엔드 개발  >  워드 형식 문서를 내보내는 PHP의 예제 코드

워드 형식 문서를 내보내는 PHP의 예제 코드

WBOY
WBOY원래의
2016-07-25 08:58:46941검색
  1. /**

  2. * 导出word格式文档
  3. * 只添加一次关键词链接
  4. * edit bbs.it-home.org
  5. */
  6. //var_dump($_SERVER["HTTPS"]);die;
  7. class word
  8. {
  9. function start()
  10. {
  11. ob_start();
  12. echo ‘xmlns:w=”urn:schemas-microsoft-com:office:word”
  13. xmlns=”http://www.w3.org/TR/REC-html40″>’;
  14. }

  15. function save($path)

  16. {
  17. print “”;
  18. $data = ob_get_contents();
  19. ob_end_clean();
  20. $this->wirtefile ($path,$data);
  21. }

  22. function wirtefile ($fn,$data)

  23. {
  24. $fp=fopen($fn,”wb”);
  25. fwrite($fp,$data);
  26. fclose($fp);
  27. }
  28. }
  29. $db = mysql_connect(‘localhost’, ‘root’, ’123123′) or die(“Could not connect to database.”);//连接数据库

  30. mysql_select_db(‘test’); //选择数据库

  31. $sql = “select info.itemid,info.title,info.tag,con.content from csign_info_22 as info left join csign_info_data_22 as con on con.itemid = info.itemid”;

  32. mysql_query(‘set names “utf8″‘);

  33. $res=mysql_query($sql, $db);

  34. while($info=mysql_fetch_array($res))

  35. {
  36. if($info['tag']){
  37. $tagexp = explode(‘ ‘,$info['tag']);
  38. foreach($tagexp as $k=>$v){
  39. $tagstr .= ‘’.$v.’ ’;

  40. if(strpos($info['content'],$v)){

  41. $info['content'] =str_replace_once($v,””.$v.””,$info['content']);
  42. }
  43. }
  44. }
  45. //echo $info['content'];die;
  46. $html = ‘

    ’.$info['title'].’

    ’.$info['content'].’

    ’;

  47. if($tagstr){$html.= ‘

    关键词: ’.$tagstr.’

    ’;}
  48. $html .= ‘

    本文由程序员之家收集整理,更多信息请访问Tiandone

    ’;
  49. $word = new word();
  50. $word->start();
  51. //$html = “aaa”.$i;
  52. $title = iconv(“UTF-8″,”GB2312″,$info['title']);
  53. //echo $title;die;
  54. $wordname = ‘E:/web/paypal/product/tiandone/’.$title.”.doc”;//存放目录
  55. //echo $wordname;die;
  56. echo $html;
  57. $word->save($wordname);
  58. ob_flush();//每次执行前刷新缓存
  59. flush();
  60. //print_r($info);die;
  61. //die;
  62. }
  63. //只匹配一次关键词 重复的不匹配
  64. function str_replace_once($needle, $replace, $haystack) {
  65. // Looks for the first occurence of $needle in $haystack
  66. // and replaces IT with $replace.
  67. $pos = strpos($haystack, $needle);
  68. if ($pos === false) {
  69. // Nothing found
  70. return $haystack;
  71. }
  72. return substr_replace($haystack, $replace, $pos, strlen($needle));
  73. }
  74. ?>
复制代码

以上就是今天php教程给出的代码,供大家学习研究之用。 学php就来程序员之家吧。



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.