搜索
博主信息
博文 51
粉丝 0
评论 1
访问量 85555
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
php合并多个word文件
鱼的熊掌
原创
1968人浏览过

tbszip下载


  1. include_once('extend/tbszip.php');
  2. $zip = new \clsTbsZip();
  3. $path = 'Public/File/2022/'; //docx文件所在目录
  4. $filelist=scandir($path);
  5. foreach($filelist as $ks=>$vs) {
  6. if ($vs=='.' || $vs=='..' || $vs=='.DS_Store') {
  7. continue;
  8. }
  9. $zip->Open($path.$vs);
  10. $content1 = $zip->FileRead('word/document.xml');
  11. $zip->Close();
  12. $p = strpos($content1, '<w:body');
  13. if ($p===false) exit("失败");
  14. $p = strpos($content1, '>', $p);
  15. $content1 = substr($content1, $p+1);
  16. $p = strpos($content1, '</w:body>');
  17. if ($p===false) exit("失败");
  18. $content1 = substr($content1, 0, $p);
  19. $strs='<w:p><w:pPr><w:rPr><w:sz w:val="21"/><w:szCs w:val="21"/></w:rPr></w:pPr></w:p><w:p/><w:p/><w:p/><w:p/><w:p/><w:p/><w:p/><w:p/><w:p><w:pPr><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial"/></w:rPr></w:pPr></w:p><w:p/><w:p/><w:p/><w:p/><w:p/><w:p><w:r><mc:AlternateContent>';
  20. $oldstrs='<w:p><w:pPr><w:rPr><w:sz w:val="21"/><w:szCs w:val="21"/></w:rPr></w:pPr></w:p><w:p/><w:p/><w:p/><w:p/><w:p/><w:p/><w:p/><w:p/><w:p><w:pPr><w:rPr><w:rFonts w:ascii="Arial" w:hAnsi="Arial" w:cs="Arial"/></w:rPr></w:pPr></w:p><w:p/><w:p/><w:p/><w:p><w:r><mc:AlternateContent>';
  21. $content1=str_replace($strs,$oldstrs,$content1);
  22. $contents[]=$content1;
  23. }
  24. $zip->Open($path."/empty.docx"); // 空的docx文件
  25. $content2 = $zip->FileRead('word/document.xml');
  26. $p = strpos($content2, '</w:body>');
  27. if ($p===false) exit("失败");
  28. $content2 = substr_replace($content2, implode('',$contents), $p, 0);
  29. $zip->FileReplace('word/document.xml', $content2, TBSZIP_STRING);
  30. $savePath='Public/Write/merges.docx';
  31. // 合并docx文件存储地址
  32. $zip->Flush(TBSZIP_FILE,$savePath);
  33. //或者输出下载
  34. header("Cache-Control: public");
  35. header("Content-Description: File Transfer");
  36. header('Content-disposition: attachment; filename='.basename($zipfilename)); //文件名
  37. header("Content-Type: application/force-download");
  38. header("Content-Transfer-Encoding: binary");
  39. header('Content-Length: '. filesize($savePath)); //告诉浏览器,文件大小
  40. readfile($savePath);
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学