用COM可以的,参考资料是http://topic.csdn.net/t/20040723/13/3203240.html,自己看看吧

解决方案 »

  1.   

    PHP在win系统下可以调用com,但对数组支持不足
      

  2.   

    从手册找到的
    // 启动 word
    $word = new COM("word.application") or die("Unable to instanciate Word");
    print "Loaded Word, version {$word->Version}\n";//将其置前
    $word->Visible = 1;//打开一个空文档
    $word->Documents->Add();//随便做些事情
    $word->Selection->TypeText("This is a test...");
    $word->Documents[1]->SaveAs("Useless test.doc");//关闭 word
    $word->Quit();//释放对象
    $word->Release();
    $word = null;
      

  3.   

    $b=new COM("ShouYan_SmsGate"); 我这里有一个控件,我先regsvr32成功,然后用这一句报错:
    Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `ShouYan_SmsGate': 无效的语法 ' in E:\www\mobile\sms3.php:2 Stack trace: #0 E:\www\mobile\sms3.php(2): com->com('ShouYan_SmsGate') #1 {main} thrown in E:\www\mobile\sms3.php on line 2不知道这个是COM无法调用ocx,还是ocx的控件名称有问题????
      

  4.   

    COM应该可以调用ocx的,可能是控件名称有问题,或者是控件编写错误吧,单凭一句错误,使很难判断是哪里出错,你用asp调用或javascript调用试一下可不可以调用,如果能可能是php的问题,不能就应该是ocx控件本身的问题了
      

  5.   

    我现在用C#调用sms.dll可以成功,但是我在php里面没法调用,请问高手,这个问题如何解决!sms.dll文件我用regsvr32 注册不成功,报找不到dllregisterserver这个输入点,好有郁闷啊!
      

  6.   

    PHP调用OCX好像不关regsver32的事情,还有你那个sms.dll没有编入口点当然注册不了,你可以在Javascript下(即是在客户端)那里调用OCX文件,这样不是更好吗
      

  7.   

    我的ocx文件是在服务器上,js不能调用服务器上的吧,而且这样也不太安全吧?
      

  8.   

    这样怎么不安全,OCX一般都是用Javascript的(个人观点),如果按照你这样说的,html和php文件也在服务器上,那岂不是也不安全,这个操作只是下载一下OCX文件,也不会对服务器造成安全危险。
      

  9.   

    我的意思是js调用ocx的一些方法被客户看到了,岂不是客户可以自己写一个js调用我的ocx。
      

  10.   

    没有高手来啊!大家对PHP都不太有深入研究啊!
      

  11.   

    COM倒是可以用的,new COM就好了