我正在尝试阅读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);
}
答案 0 :(得分:0)
答案 1 :(得分:0)
尝试使用'b'标志以二进制模式打开文件,如下所示:
fopen($filename, 'rb')
答案 2 :(得分:0)
docx
文件是二进制文件,而不是文本,您必须将其作为二进制文件读取。
您没有说明单词的哪个版本,但由于您的代码示例使用docx
,我将假设您使用的是较新的Word格式文件。
有一点需要注意的是,这些较新的Word文件以及Excel和PowerPoint都存储为压缩文件。该文件本身实际上是ZIP兼容的压缩文件。如果您复制其中一个文件并为其添加.zip扩展名,您将看到可以将其作为压缩文件打开,并且可以遍历它的各种文件夹。
您从文件中读取的内容取决于您打算如何处理它。