❶ php中的COM("WinNT://Domain"); 是什么意思
就是建立一个com对象,WinNT://Domain是NT系统下面的domain(域名),这个程序就是要遍历一下winNT系统的域名列表啊。
❷ 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 则不需要。
❸ PHP的COM组件
现象已经很明确了,是WScript.Shell对象可以引用,而word.application对象不可以引用。说明PHP配置和APACHE配置已经没有问题了。
问题在于word.application对象为什么不能引用,原因很可能是你的服务器没安装office,所以也不存在word.application对象。
❹ 如何用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");
❻ ThinkPHP的control类里面为什么用不了COM类
this.FindControl()这个方法中this代表当前窗体,意思是在当前窗体根据索引或者name寻找控件,你在类里面,this代表这个类,怎么可能会有FindControl这个方法呢,这不是引用不引用的问题!
所以说方法,不可以这么写,要么你在这个方法多加个参数,来代表窗体,如:
public void Get_control(control con)
{
Label lbl = (Label)con.FindControl("名字");
}
❼ php中的COM类是不是无法在LINUX环境下运行
是的.windows专用 函数
❽ 谁知道THINKPHP 的所谓 ORG,COM第三方类库是什么意思...
第三方
类库
就是不是自己写的
也不是
php提供的,而是其它的人写的一些类,写好了类,下次
再遇到
同样的问题
的时候就只要调用就可以了,不必每次都写一样的代码,
❾ php用com类上传解压文件时 出现问题
首先调用COM正常,应该是run这一出错了。
我的建议是:
1.首先确定你装有winrar(当然其他解压缩软件也行)
2.然后先不着急在PHP里解压,在CMD中测试一下你的winrar命令可不可用
3.如果没有安装winrar等工具,或者环境变量有问题(在CMD直接运行winrar命令就会提示出错了是吧),就安装解压缩工具吧(比如本人用的是haozip,命令行工具的rar.exe,我就干脆把它复制到system32目录,这样就可以直接使用了)
4.如果还有神马问题请追加一下
额,其实吧,装不装解压缩工具都行,只要有winrar.exe 或者rar.exe等命令行解压缩程序就行了.....
❿ PHP COM类详解
同学,这个类明显是自己写的,你不把这个类的源码贴出来没人知道什么意思