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

phpcom组件

发布时间: 2022-05-19 21:40:38

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

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

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

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

oleview软件

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

② PHP怎么从COM组件中获取返回的字符串

PHP如何从COM组件中获取返回的字符串?
COM组件中定义一个方法
HRESULT GetStr([in,out] BSTR* vStr, [in,out] LONG* vLen, [out,retval] LONG* vError);

方法实现为:

C/C++ code
STDMETHODIMP MC_MyClass::GetStr(BSTR* vStr, LONG* vLen, LONG* vError) { *vError = 0; if(0 == vStr) return S_FALSE; if(0 == vLen) return S_FALSE; wchar_t tStr[] = L"This is a string from com!"; memcpy(*vStr, tStr, wcslen(tStr)); *vLen = wcslen(tStr); *vError = 1; return S_OK; }

PHP调用该方法

C/C++ code
$tStr = ""; $tLen = 100; $tStr = str_pad($tStr, $tLen, "0"); $tRes = $tCom->GetStr(&$tStr, &$tLen);

结果
$tRes = 1;
$tStr = "";
$tLen = 26;

③ 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组件,它里面都有哪些属性和方法可以调用呢

先到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组件

首先写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 则不需要。

⑦ php调用com组件,通过WMI能得到操作系统的日志吗

理论上讲是可以,日志一般也是文件存储形式,比如win的日志在C:\Windows\System32\config
一般来说获取日志文件内容即可,需要解决的问题:
1.日志文件是否有系统独占因素;
2.日志文件目录的权限;
3.读取到日志文件后,是否需要对应的解码或者转码问题。

⑧ PHP的COM组件

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

⑨ 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的版本号

热点内容
u盘里文件夹是空的 发布:2025-02-14 06:13:22 浏览:803
安卓如何缩放图片尺寸 发布:2025-02-14 06:06:34 浏览:116
六年级简便算法题 发布:2025-02-14 05:53:02 浏览:8
脚本精灵要root吗 发布:2025-02-14 05:51:30 浏览:212
安卓手机如何录屏怎么去掉触摸显示 发布:2025-02-14 05:36:23 浏览:996
安卓系统新品推荐怎么关 发布:2025-02-14 05:35:44 浏览:888
虚拟存储器的基础是 发布:2025-02-14 05:32:24 浏览:516
androidstudio出错 发布:2025-02-14 05:32:14 浏览:305
面容id存储多张脸 发布:2025-02-14 05:31:30 浏览:656
网站源码百度云 发布:2025-02-14 05:30:53 浏览:214