我想调用一个外部dll文件,按照网站的介绍:
$mycom = new COM ("M3_Encrypt.M3Encryption") or die ("error");//mycom.myclassname 点前面是你dll的名字,点后面是你在 com中定义的类的名字。
$_eout=com_invoke($mycom,"EncryptString",$_key,"m3cn");//有几个参数就写几个para。
$mycom ->Release();
但是报:没有定义com_invoke()这函数的错误..... Fatal error: Call to undefined function com_invoke() 请问使用这种方法要注意确保什么吗?或者有谁知道如何解决吗?或者有什么其它办法也可以调用dll文件吗???
$mycom = new COM ("M3_Encrypt.M3Encryption") or die ("error");//mycom.myclassname 点前面是你dll的名字,点后面是你在 com中定义的类的名字。
$_eout=com_invoke($mycom,"EncryptString",$_key,"m3cn");//有几个参数就写几个para。
$mycom ->Release();
但是报:没有定义com_invoke()这函数的错误..... Fatal error: Call to undefined function com_invoke() 请问使用这种方法要注意确保什么吗?或者有谁知道如何解决吗?或者有什么其它办法也可以调用dll文件吗???
COM functions are only available for the Windows version of PHP. .Net support requires PHP 5 and the .Net runtime.
给你个例子
//首先注册:regsvr32 KeyEncrypt_COM.dll
//卸载使用:regsvr32 /u KeyEncrypt_COM.dll
//KeyEncrypt_COM.dll内部有一个函数:HexStrEncrypt(BSTR inHexStr, BSTR *outHexStr),会将*outHexStr赋值一个字符串返回 $com = new COM("KeyEncrypt_COM.HexStrEncrypt") or die("Cannot Use HexStrEncrypt");
$result = "未处理的字符串";
echo '$result = '.$result.'<br>';
$result = $com->HexStrEncrypt("abc");
echo '$result = '.$result.'<br>';
$com = null;