我必须修改php中上传的.doc或.docx文件.我用谷歌搜索,但我只发现了如何阅读,却没有.
我想要原样的Word文件,并将文本放在该MS Word文件的底部.
怎么可能有人知道,请回复.
谢谢,
我使用了以下代码:-
$w='Test';
$fp = fopen('c:/text.doc', 'a+');
fwrite($fp, $w);
fclose($fp);
它附加了字符串,但未显示在word文档中.
当我将doc文件的扩展名更改为xml时,它在结尾显示了字符串.
为什么它不应该显示在doc文件中.
谢谢,
解决方法:
对于Docx文件,您可以轻松使用zip阅读器(例如TbsZip)来读取和编辑主要XML子文件(Docx文件实际上是zip存档文件).对于DOC文件,这非常困难,因为它是二进制文件.
这是使用TbsZip的代码示例:
$x = "Hello World!";
include_once('tbszip.php');
$zip = new clsTbsZip();
// Open the document
$zip->Open('mydoc.docx');
$content = $zip->FileRead('word/document.xml');
$p = strpos($content, '');
if ($p===false) exit("Tag not found in document.");
// Add the text at the end
$content = substr_replace($content, '
'.$x.'
', $p, 0);$zip->FileReplace('word/document.xml', $content, TBSZIP_STRING);
// Save as a new file
$zip->Flush(TBSZIP_FILE, 'new.docx');
标签:tabs,php
来源: https://codeday.me/bug/20191024/1916772.html