欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

PHP用COM方式读取WORD文档错误

我在学习PHP用COM方式读取WORD文档
代码如下
复制PHP内容到剪贴板
PHP代码:

<?php
$word 
= new COM("word.application") or die("Unable to instanciate Word");
print 
"Loaded Word, version {$word->Version}\n<br>";
//将其置前
$word->Visible 0;
//打开一个文档
$word->Documents->OPen("test.doc");
//随便做些事情
echo $word->ActiveDocument->content->Text;
//关闭 word
$word->Quit();
?>

 
出现了如下错误:

Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `word.application': 服务器运行失败 ' in D:\Program Files\Apache Software Foundation\Apache2.2\htdocs\word\word2.php:2 Stack trace: #0 D:\Program Files\Apache Software Foundation\Apache2.2\htdocs\word\word2.php(2): com->com('word.applicatio...') #1 {main} thrown in D:\Program Files\Apache Software Foundation\Apache2.2\htdocs\word\word2.php on line 2

请问这是怎么回事
我的环境是在XP系统,APACHE2.2+PHP5+MYSQL5.0
是我XP里没有COM组件么,还是COM组件要注册,还是PHP.INI要做相应的设置

请各位帮忙解释下,谢谢了
 
昵称: xjgale  时间: 2008-05-03 23:42:00
我更大事::

Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `word.application': 无效的语法 ' in D:\APMServ5.2.0\www\htdocs\PHP3.php:2 Stack trace: #0 D:\APMServ5.2.0\www\htdocs\PHP3.php(2): com->com('word.applicatio...') #1 C:\Program Files\Zend\ZendStudio-5.5.0\bin\php5\dummy.php(1): include('D:\APMServ5.2.0...') #2 {main} thrown in D:\APMServ5.2.0\www\htdocs\PHP3.php on line 2
昵称: 于安  时间: 2008-05-04 11:56:00
应该是未注册提示,可以重新安装一遍OFFICE试试
昵称: lyxcf  时间: 2008-05-04 12:11:00
引用:
原帖由 lyxcf 于 2008-5-4 12:11 发表 
应该是未注册提示,可以重新安装一遍OFFICE试试
我重装了office并重启了,还是不行额。。
昵称: xjgale  时间: 2008-05-04 16:10:00
是不是跟操作系统有关系啊,我用的是xp,是不是一定要用server版的(2000或者2003)?
请有知道的指点下,万分感激
昵称: xjgale  时间: 2008-05-04 19:22:00
不知道是不是和文件夹的权限有关,你的word安装盘格式是ntfs么?
昵称: ocean2000  时间: 2008-05-04 21:19:00
引用:
原帖由 ocean2000 于 2008-5-4 21:19 发表 
不知道是不是和文件夹的权限有关,你的word安装盘格式是ntfs么?
是啊,是用ntfs的,这个有什么关系呢,请说明下,谢谢啦~
昵称: xjgale  时间: 2008-05-05 09:11:00
重装了一骗office,貌似好了,可以读出word版本信息
但出现了另一个错误:
Loaded Word, version 11.0 

Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft Word<br/><b>Description:</b> 找不到此文件。请试用下列方法: * 检查文档名的拼写。 * 试用另一文件名。 (test.doc)' in D:\Program Files\Apache Software Foundation\Apache2.2\htdocs\word\word2.php:9 Stack trace: #0 D:\Program Files\Apache Software Foundation\Apache2.2\htdocs\word\word2.php(9): variant->OPen('test.doc') #1 {main} thrown in D:\Program Files\Apache Software Foundation\Apache2.2\htdocs\word\word2.php on line 9
昵称: xjgale  时间: 2008-05-05 18:05:00
引用:
原帖由 xjgale 于 2008-5-5 18:05 发表 
重装了一骗office,貌似好了,可以读出word版本信息
但出现了另一个错误:
Loaded Word, version 11.0 

Fatal error: Uncaught exception 'com_exception' with message 'Source: Microsoft WordDescription: 找 ...
我上面那个错误是路径错误了
把“test.doc”改成"D:\\Program Files\\Apache Software Foundation\\Apache2.2\\htdocs\\word\\test.doc"这样的全路径就好了。。。
现在再请高手帮忙一下,谁有COM 组件内关于word.application的属性,方法的相关文档。可以共享下么~
我查了PHP手册,好像只是举了很多例子,没有把所有的属性跟方法列出来
就是像$word->ActiveDocument->content->Text;  
            $word->Documents->Open
昵称: xjgale  时间: 2008-05-06 08:44:00
文档的路径必须是全路径
昵称: 海底的鱼  时间: 2008-07-28 17:40:00

 

普通分类: