作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我必须在 php
中修改上传的 .doc
或 .docx
文件。我用谷歌搜索,但我只找到了如何阅读它,但不是原样。 我想要原样的 word 文件,并将文本放在该 MS Word 文件的底部。 这怎么可能有人知道请回复。
谢谢,
我使用了以下代码:-
$w='Test';
$fp = fopen('c:/text.doc', 'a+');
fwrite($fp, $w);
fclose($fp);
它附加了字符串但没有显示在word文档中。当我将 doc 文件的扩展名更改为 xml 时,它会在末尾显示字符串。为什么它不应该显示在文档文件中。
谢谢,
最佳答案
对于 Docx 文件,您可以轻松使用 zip 阅读器,例如 TbsZip为了阅读和编辑主要的 XML 子文件(Docx 文件实际上是 zip 存档文件)。对于 DOC 文件来说,这是非常困难的,因为它是二进制文件。
这是一个使用 TbsZip 的代码示例:
<?php
$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, '</w:body>');
if ($p===false) exit("Tag </w:body> not found in document.");
// Add the text at the end
$content = substr_replace($content, '<w:p><w:r><w:t>'.$x.'</w:t></w:r></w:p>', $p, 0);
$zip->FileReplace('word/document.xml', $content, TBSZIP_STRING);
// Save as a new file
$zip->Flush(TBSZIP_FILE, 'new.docx');
关于php - 如何在 php 中修改 .doc 或 .docx 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3297914/
我是一名优秀的程序员,十分优秀!