当前位置:首页 » 编程语言 » com组件php

com组件php

发布时间: 2022-04-29 17:20:21

① 释放COM组件php

$sm=new COM("com.sun.star.ServiceManager");
$d=$sm->createInstance("com.sun.star.frame.Desktop");

...
$d->terminate();//关闭
$sm->dispose();//关闭

② 如何用PHP调用自己编写的COM组件

首先写ActiveX Dll:

新建一个VB6工程,ActiveX Dll将工程命名为P_test,类名为c_test ,类的文件内容如下:

Option Explicit

Private MyscriptingContext As scriptingContext

Private MyApplication As Application

Private MyRequest As Request Private MyResponse As Response

Private MyServer As Server

Private MySession As Session Public

Sub OnStartPage(PassedscriptingContext As scriptingContext)

Set MyscriptingContext = PassedscriptingContext

Set MyApplication = MyscriptingContext.Application

Set MyRequest = MyscriptingContext.Request

Set MyResponse = MyscriptingContext.Response

Set MyServer = MyscriptingContext.Server

Set MySession = MyscriptingContext.Session

End Sub

Public Sub OnEndPage()

Set MyscriptingContext = Nothing

Set MyApplication = Nothing

Set MyRequest = Nothing

Set MyResponse = Nothing

Set MyServer = Nothing

Set MySession = Nothing

End Sub

Public Function Test_Number(num) As Variant

If num 0 Then Get_Number_Attrib = 1

If num = 0 Then Get_Number_Attrib = 0

End Function

编译生成p_test.dll文件

注册

提示符下运行:regsvr32 p_test.dll

编写php文件,test.php4代码如下:

<?php

$b=new COM("p_test.c_test");

$a=$b->Test_Number(-454);

echo $a;

?>

可能碰到的问题是,编译工程时通不过,要将Microsoft Active Server Pages Object Library引用进来,具体实现"Project->References"找到改库,并勾上 。

③ php中有个com组件,它里面都有哪些属性和方法可以调用呢

先到PHP.INI中打开COM选项,com.allow_dcom = true


PHP 5.4.5后,com/dotnet 模块已经成了单独的扩展,所以需要在PHP.ini中配置extension=php_com_dotnet.dll,如果PHP VERSION<5.4.5 则不需要。否则的话,可能就是报错 Fatal error: Class 'COM' not found 了


配置方法为:只需在扩展列表里添加extension=php_com_dotnet.dll即可

另外需要了解的是,COM组件虽然也是DLL扩展,但它不是PHP扩展,所以把Senc.dll拷贝到php/ext 目录,然后在PHP.INI里加载是错误的,PHP也不认识它


配置完毕后可以测试下,语句为

$word=newCOM("word.application")ordie("UnabletoinstanciateWord");
print"LoadedWord,version{$word->Version} ";

上面语句本机必须安装了office才可以

openoffice的为:

$obj=newCOM("com.sun.star.ServiceManager")ordie("UnabletoinstanciateWord");

④ PHP调用COM组件操作EXCEL文档的问题

COM组件是通用的,如果你想用调用COM组件来操作EXCEL文档,建议可以参考的工具和资料如下:

1. office (excel)VBA帮助文档,VBA中包含对象、属性、方法的说明。

2. 使用OCX、DLL等查看工具,比如:

oleview软件

比较简便的办法,你可以下载 vbsEdit 软件,其中带有 oleview 查看工具,当你引入某个 com 组件时,会自动显示该组件对象的方法、属性等。

⑤ PHP的COM组件

现象已经很明确了,是WScript.Shell对象可以引用,而word.application对象不可以引用。说明PHP配置和APACHE配置已经没有问题了。
问题在于word.application对象为什么不能引用,原因很可能是你的服务器没安装office,所以也不存在word.application对象。

⑥ php调用com组件exception 'com_exception' with message 'Failed to create COM object 'WPS.Application

COM组件虽然也是DLL扩展,但它不是PHP扩展,所以把Senc.dll拷贝到php/ext 目录,然后在PHP.INI里加载是错误的,PHP也不认识它。
你这个是表示com组建不能使用,com组建在windows下需要注册的额。

⑦ PHP调用COM组件操作WORD问题

hp // 建立一个指向新COM组件的索引 $word = new COM("word.application")

⑧ php 用com组件连接MySql或ODBC的方法

你可以试试:

<?php
$conn=newcom("ADODB.Connection");
$connstr="Driver={MySQLODBC3.51Driver};Server=data.domain.com;Port=3306;Database=myDataBase;User=myUsername;Password=myPassword;Option=3;
$conn->Open($connstr);
$rs=newcom("ADODB.RecordSet");
$rs->Open("select*fromtable",$conn,1,1);
echo($rs->Fields(1)->value);
$rs=NULL;
?>

MySQLODBC3.51Driver为你安装myodbc的版本号

⑨ php怎么开启com组件

先到PHP.INI中打开COM选项,com.allow_dcom = true 注意: PHP 5.4.5后,com/dotnet 模块已经成了单独的扩展,所以需要在PHP.ini中配置extension=php_com_dotnet.dll ,如果PHP VERSION<5.4.5 则不需要。

热点内容
英雄联盟和吃鸡哪个吃配置 发布:2025-07-14 17:01:32 浏览:95
访问罗晋 发布:2025-07-14 17:00:04 浏览:395
逍遥西游辅助脚本 发布:2025-07-14 16:56:57 浏览:584
java默认类 发布:2025-07-14 16:51:03 浏览:278
术后解压 发布:2025-07-14 16:39:47 浏览:660
手机版我的世界怎么输入服务器ip 发布:2025-07-14 16:25:21 浏览:721
pythonsysstdout 发布:2025-07-14 16:15:29 浏览:196
ef数据库更新模型 发布:2025-07-14 16:14:05 浏览:411
少儿编程教育平台 发布:2025-07-14 16:13:54 浏览:301
相关存储格式图片 发布:2025-07-14 16:13:50 浏览:144