可以的,PHP里边有个动态模块调用函数dl(),可以动态的调用 PHP 所需的外部模块(包括M*的dll文件),手册里有讲的。但是不知道是否能达到楼主的目的 下面是手册提供的例子: //dl() examples <?php // Example loading an extension based on OS if (!extension_loaded('sqlite')) { if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) { dl('php_sqlite.dll'); } else { dl('sqlite.so'); } }// Or, the PHP_SHLIB_SUFFIX constant is available as of PHP 4.3.0 if (!extension_loaded('sqlite')) { $prefix = (PHP_SHLIB_SUFFIX == 'dll') ? 'php_' : ''; dl($prefix . 'sqlite.' . PHP_SHLIB_SUFFIX); } ?>
让你用COM从新封装的意思就是这个~~~
写一个COM,并添加一个接口,而这个接口调用的就是这个DLL中的函数~~
下面是手册提供的例子:
//dl() examples
<?php
// Example loading an extension based on OS
if (!extension_loaded('sqlite')) {
if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) {
dl('php_sqlite.dll');
} else {
dl('sqlite.so');
}
}// Or, the PHP_SHLIB_SUFFIX constant is available as of PHP 4.3.0
if (!extension_loaded('sqlite')) {
$prefix = (PHP_SHLIB_SUFFIX == 'dll') ? 'php_' : '';
dl($prefix . 'sqlite.' . PHP_SHLIB_SUFFIX);
}
?>
1、按php扩展库格式编译的,用dl函数
2、按com+编译的,用com函数
3、标准win32格式的,用win32api函数库mikespook(谁说叫Mike的一定是狼?) 的方法也不失为好方法