您的位置:

关于phpnewcom的信息

本文目录一览:

我用php调用ocx控件,采用new COM()方法,但是报错了,错误如下,望大神解答

我没用过ocx 只从你报错页的信息上帮你分析一下

第一行只是一个警告,可以忽略,

第二行才是出错的地方, unexpected ' 未保护的单引号在那个ocx文件的第2581行

检查一下这个地方

如何用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"找到改库,并勾上 。

thinkphp 中如何使用 new com('XXX')

这个需要开启COM扩展, 好吧,刚看到最后一句,不好意思。。。。。。。。。

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

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

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

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

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

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

$word = new COM("word.application") or die("Unable to instanciate Word");

print "Loaded Word, version {$word-Version}\n";

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

openoffice的为:

$obj = new COM("com.sun.star.ServiceManager") or die("Unable to instanciate Word");