如何在Php中阅读Word文件的内容?

时间:2013-07-29 22:40:50

标签: php

我正在尝试阅读Word文件的内容。我使用下面的代码,但它发出警告为警告:fread()[function.fread]:长度参数必须大于0

$filename=$file->getFilename();
$ext = pathinfo($filename, PATHINFO_EXTENSION);
if($ext=='docx')
{
$fname = fopen($filename, 'r');
if (is_readable($filename)) 
{
$content = fread($fname,filesize($filename));
echo $content;
} 
else 
{
echo 'The file is not readable.';
}
fclose($fname);
}

3 个答案:

答案 0 :(得分:0)

Word文档与文本文件不同(它更像是xml /二进制文件),所以你不能只使用echo并期望它输出文件。

虽然有一个名为Docvert的文库

Docvert

答案 1 :(得分:0)

尝试使用'b'标志以二进制模式打开文件,如下所示:

fopen($filename, 'rb')

答案 2 :(得分:0)

docx文件是二进制文件,而不是文本,您必须将其作为二进制文件读取。

您没有说明单词的哪个版本,但由于您的代码示例使用docx,我将假设您使用的是较新的Word格式文件。

有一点需要注意的是,这些较新的Word文件以及Excel和PowerPoint都存储为压缩文件。该文件本身实际上是ZIP兼容的压缩文件。如果您复制其中一个文件并为其添加.zip扩展名,您将看到可以将其作为压缩文件打开,并且可以遍历它的各种文件夹。

您从文件中读取的内容取决于您打算如何处理它。

相关问题