免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5885 | 回复: 8
打印 上一主题 下一主题

PHP调用自定义COM的经验总结 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-07-13 13:18 |只看该作者 |倒序浏览
小弟进来一直在研究PHP中调用DLL的问题,也发了不少帖子询问如:geel哥 ,给了小弟很大的帮助!在此感想geel哥。在网上查找也大多是调

用什么word,excle的。于是小弟经过2天的研究终于成功了,现在小弟将自己调用中遇到的一些问题和解决的办法发出来和大家探讨一些看有

没有可改进的地方,同时也算是抛块砖吧!
    第一个问题:PHP中如何调用DLL中的函数?
            答:首先查到的是 w32api_register_function 函数,需要打开php_w32api.dll可是该函数只在PHP在4.2.0 至 4.2.3中支持调用

,哎呀!我用的php是4.3.6!
            调用DLL只有使用php的COM函数了。
    第二个问题:如何写COM。
            答:这个问题本来不属于php的问题,但还是给大家简单介绍一下,我用的是msvs.net2003环境下的VC++。当然其他工具也行了

。只是小弟对VC熟一点而已。具体做法,新建一个项目,选择VC++项目下的alt文件夹,选择ALT项目,点确定,哦记着起名字。在“类视图

”选项中添加一个alt类,选择简单alt类就行了。配置一下属性,OK,类视图窗口中出现了你新建的类名,选择“I”开头的类名结尾的项目,

右键添加方法。然后完成你函数的具体内容就行了。然后编译OK!
    第三个问题:php如何调用你的com呢?
            答:首先要在windows的运行框中,运行regsvr32 c:\yourpath\yourcom.dll。需要注意的问题一定要把你用到的所有DLL文件都

放在一个目录下。注册成功后,你就可以调用了。
             <?php
                 
                $mycom = new COM ("mycom.myclassname" or die ("error";//mycom.myclassname 点前面是你dll的名字,点后面是你在

com中定义的类的名字。
                com_invoke($mycom,"yourfunctionname","para1","para2";//有几个参数就写几个para。
                $mycom ->;Release();
               ?>;
             试试看,有没有问题!到这里就完成了php的调用。
注意:在用php想com传参数的时候,会有点问题,在传递字符串时,你的com程序一定要是BSTR类型的,如果是CHAR*就不能成功传递!我是费

了很大周折自己试出来的哟!
             希望能给大家一点帮助!也希望大家能讨论一下,我毕竟也是初学者!
longnetpro 该用户已被删除
2 [报告]
发表于 2004-07-13 13:50 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2004-07-14 20:08 |只看该作者

PHP调用自定义COM的经验总结

可能大家都不使用php调用com来实现某些功能!我还是觉得有挺有用的!大家还是给点意见吧?

论坛徽章:
0
4 [报告]
发表于 2004-07-14 22:27 |只看该作者

PHP调用自定义COM的经验总结

我也觉得,com只能在win服务器上使用,而java对服务器平台要求没有那么严格。
只要java可以做到,那就尽量使用java。

不过做做excle之类的东西,还是用com算了~
不知道又没有纯java的类库来生成MSoffice文档的

论坛徽章:
0
5 [报告]
发表于 2004-07-14 22:39 |只看该作者

PHP调用自定义COM的经验总结

刚才去看了一下google,

原来 OfficeWriterPOI 这两个纯java得东东可以生成MSoffice文档, 前者需要收费并且功能强大,后者是jakarta的子项目而且免费!

论坛徽章:
0
6 [报告]
发表于 2004-07-14 22:57 |只看该作者

PHP调用自定义COM的经验总结

顶一下。。。

论坛徽章:
0
7 [报告]
发表于 2004-07-18 15:14 |只看该作者

PHP调用自定义COM的经验总结

我觉得很多地方都在使用ms的产品,所以我渐渐的开始使用ms的一些东东。我没用过java听说很难学,各位大虾,可不可以推荐一两本好书,我了解一下就可以了,不要特深的那种。

论坛徽章:
0
8 [报告]
发表于 2004-07-21 07:23 |只看该作者

PHP调用自定义COM的经验总结

渐渐的开始使用ms的一些东东,那么你本来用什么的呢?

论坛徽章:
0
9 [报告]
发表于 2004-07-21 08:35 |只看该作者

PHP调用自定义COM的经验总结

用 linuix,要不咋找到了chinaunix 了,主要做计费主机的维护的,用的是hp unix.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP