猿问

用PHP读写MS Word文件

用PHP读写MS Word文件

可以不使用COM对象在PHP中读写Word(2003和2007)文件吗?我知道我可以:

$file = fopen('c:\file.doc', 'w+');fwrite($file, $text);fclose();

但是Word会将其读取为HTML文件,而不是本机.doc文件。


守着星空守着你
浏览 959回答 3
3回答

陪伴而非守候

读取二进制Word文档需要根据已发布的DOC格式文件格式规范创建解析器。我认为这不是真正可行的解决办法。你可以用MicrosoftOfficeXML格式用于读取和写入Word文件-这与2003年和2007年版本的Word兼容。为了阅读,您必须确保Word文档以正确的格式保存(在Word 2007中称为Word 2003 XML-Document)。在编写时,您只需遵循公开可用的XML模式即可。我从未使用这种格式从PHP中写出Office文档,但我使用它读取Excel工作表(自然保存为XML-电子表格2003)并在网页上显示其数据。由于这些文件都是明确的XML数据,所以在其中导航并找出如何提取所需的数据是没有问题的。另一个选项-只使用Word 2007选项(如果您的Word 2003中没有安装OpenXML文件格式)-将重新排序到OpenXML..如数据库指出这里Docx文件格式只是一个包含XML文件的ZIP存档。有很多资源MSDN对于OpenXML文件格式,您应该能够了解如何读取所需的数据。我认为写作要复杂得多-这取决于你将投入多少时间。也许你可以看看PHPExcel它是一个库,可以使用OpenXML标准写入Excel 2007文件并从Excel 2007文件中读取。在尝试读取和编写OpenXMLWord文档时,您可以了解所涉及的工作。
随时随地看视频慕课网APP
我要回答