使用officeword与PHP读取doc文件

使用officeword与PHP读取doc文件,php,ms-word,ms-office,Php,Ms Word,Ms Office,我正在尝试使用PHP和word.application来读取文件。它根本不会打开该文件。这是正确的版本 $w = new COM("word.application") or die("Is office installed?"); echo 'Loaded Word, version ' . $w->Version . '<br>'; $w->Visible = false; $w->Documents->Open(realpath('test.docx

我正在尝试使用PHP和word.application来读取文件。它根本不会打开该文件。这是正确的版本

$w = new COM("word.application") or die("Is office installed?");
echo 'Loaded Word, version ' . $w->Version . '<br>'; 
$w->Visible = false;

$w->Documents->Open(realpath('test.docx'));

$content = (string) $w->ActiveDocument->Content;

echo $content;

$w->Quit();
$w->Release();
$w = null;

这感觉像是某种许可问题。除了使用realpath之外,我还尝试放置test.docx的路径,但没有任何帮助。还试图把它放在我的C驱动器的根目录中。我正在使用Windows 7 Professional和Microsoft Office 2007。

文档->打开会返回一个文档,如果一切正常。可能文档不存在,路径不正确,或者您没有从PHP打开它的权限。将结果存储在$var中,检查其是否具有适当的值(可能未设置),如果没有,则检查其是否为null或false,并使用$var->Content读取内容。

Documents->Open在一切正常的情况下返回一个文档。可能文档不存在,路径不正确,或者您没有从PHP打开它的权限。将结果存储在$var中,检查它是否具有适当的值(可能不是isset),如果没有,则为null或false,并使用$var->Content读取内容

尝试执行所述服务器上存在的文件 文件/路径。 如果行得通,试试看 归档获取内容,看看是否可以 读一下。 如果所有这些都有效,那么权限/等等就没有问题了

尝试执行所述服务器上存在的文件 文件/路径。 如果行得通,试试看 归档获取内容,看看是否可以 读一下。
如果所有这些都能正常工作,那么权限/等就没有问题。

您确定文件路径正确吗?尝试指定绝对路径。即使使用绝对路径,我也已对路径进行了三次检查,但仍然没有成功。您确定文件的路径正确吗?尝试指定绝对路径。即使使用绝对路径,我也对路径进行了三次检查,但仍然没有成功。当我将其存储在$var中并回显$var时,结果为空。这符合文档无法打开的假设。你需要找出原因。也许您可以尝试使用PHP中的其他文件函数来检查是否可以找到该文件,以及您是否拥有打开该文件所需的权限。仅仅看到文件存在并不能保证您也可以打开它。尝试将文档放在其他位置,如您的文档根文件夹。我已经尝试过了,也尝试过其他文档。还制作了文档只是为了尝试。我可以通过命令行使用OpenOffice转换它,但我想让它工作;那你有东西吗?它不会有任何内容,但至少您会知道是否可以将文档添加到文档集合中。另外,您是否尝试过使用file\u get\u内容读取文件?您可能看到过任何数据垃圾吗?当我将其存储在$var中并回显$var时。结果为空。这符合文档无法打开的假设。你需要找出原因。也许您可以尝试使用PHP中的其他文件函数来检查是否可以找到该文件,以及您是否拥有打开该文件所需的权限。仅仅看到文件存在并不能保证您也可以打开它。尝试将文档放在其他位置,如您的文档根文件夹。我已经尝试过了,也尝试过其他文档。还制作了文档只是为了尝试。我可以通过命令行使用OpenOffice转换它,但我想让它工作;那你有东西吗?它不会有任何内容,但至少您会知道是否可以将文档添加到文档集合中。另外,您是否尝试过使用file\u get\u内容读取文件?你可能看到过数据垃圾吗?
Uncaught exception 'com_exception' with message 'Source: Microsoft Word
Description: This command is not available because no document is open.'