要写一个给PHP调用的接口,应该写成什么样子?

usstdiy 2003-10-15 10:49:30
asp可以用com,php用什么?windows下和linux下有区别没?
多谢各位大侠赐教!
...全文
326 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangdongzjk 2003-10-21
  • 打赏
  • 举报
回复
给你几个常用的php调用com的函数:
1.COM
PHP 手册
后退 前进






COM
(no version information, might be only in CVS)

COM -- COM 类
大纲
$obj = new COM("server.object")
描述
COM 类提供了一个将 (D)COM 组件整合到 PHP 脚本中的框架。
方法
string COM::COM ( string module_name [, string server_name [, int codepage]])
COM 类构造函数。参数:
module_name
被请求组件的名字或 class-id。
server_name
DCOM 服务器的名字,组件在此服务器上被取用。如果是 NULL,则假定是 localhost。想要允许 DCOM,必须将 php.ini 中的 com.allow_dcom 设为 TRUE。

codepage
指定用于将 PHP 字符串(php-strings)转换成 UNICODE 字符串(unicode-strings)的代码页,反之亦然。可用的值为 CP_ACP、CP_MACCP、CP_OEMCP、CP_SYMBOL、CP_THREAD_ACP, CP_UTF7 和 CP_UTF8。

例子 1. COM 示例 (1)

// 启动 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;

例子 2. COM 示例 (2)

$conn = new COM("ADODB.Connection") or die("Cannot start ADO");
$conn->Open("Provider=SQLOLEDB; Data Source=localhost;
Initial Catalog=database; User ID=user; Password=password");

$rs = $conn->Execute("SELECT * FROM sometable"); // 记录集

$num_columns = $rs->Fields->Count();
echo $num_columns . "\n";

for ($i=0; $i < $num_columns; $i++)
{
$fld[$i] = $rs->Fields($i);
}

$rowcount = 0;
while (!$rs->EOF)
{
for ($i=0; $i < $num_columns; $i++)
{
echo $fld[$i]->value . "\t";
}
echo "\n";
$rowcount++; // rowcount 自增
$rs->MoveNext();
}
$rs->Close();
$conn->Close();
$rs->Release();
$conn->Release();
$rs = null;
$conn = null;

2.VARIANT
(no version information, might be only in CVS)
VARIANT -- VARIANT 类
大纲
$vVar = new VARIANT($var)
描述
用于将变量封装进 VARIANT 结构中的简单容器。
方法
string VARIANT::VARIANT ( [mixed value [, int type [, int codepage]]])
VARIANT 类构造函数。参数:
value
初始值。若省略则创建一个 VT_EMPTY 对象。
type
指定 VARIANT 对象的内容类型。可用的值为 VT_UI1、VT_UI2、VT_UI4、VT_I1、VT_I2、VT_I4、VT_R4、VT_R8、VT_INT、VT_UINT、VT_BOOL、VT_ERROR、VT_CY、VT_DATE、VT_BSTR、VT_DECIMAL、VT_UNKNOWN、VT_DISPATCH 和 VT_VARIANT。这些值相互排斥,但是可以使用 VT_BYREF 将它们联合起来指定为一个值。若省略,则使用参数 value 的类型。额外信息请查阅 msdn 库。
codepage
指定用于将 PHP 字符串(php-strings)转换成 UNICODE 字符串(unicode-strings)的代码页,反之亦然。可用的值为 CP_ACP、CP_MACCP、CP_OEMCP、CP_SYMBOL、CP_THREAD_ACP, CP_UTF7 和 CP_UTF8。

3.com_addref
(4.1.0 - 4.3.2 only)
com_addref -- 增加组件引用计数。
描述
void com_addref ( void )
增加组件引用计数。

4.com_get
(PHP 3>= 3.0.3, 4.0.5 - 4.3.2 only)
com_get -- 获取 COM 组件的属性值
描述
mixed com_get ( resource com_object, string property)
返回由 com_object 所引用的 COM 对象的 property 属性值,出错则返回 FALSE。

5

com_invoke
(PHP 3>= 3.0.3)

com_invoke -- 调用 COM 组件的方法。
描述
mixed com_invoke ( resource com_object, string function_name [, mixed function parameters, ...])


com_invoke() 调用由 com_object 所引用的对象的方法。出错返回 FALSE,成功则返回 function_name 的返回值。


6.

com_isenum
(4.1.0 - 4.3.2 only)

com_isenum -- 获取一个 IEnumVariant
描述
void com_isenum ( object com_module)

7.com_load
(PHP 3>= 3.0.3)

com_load -- 创建新的 COM 组件的引用
描述
string com_load ( string module_name [, string server_name [, int codepage]])


com_load() 创建新的 COM 组件同时返回此组件的引用。失败则返回 FALSE。codepage 可用的值为:CP_ACP、CP_MACCP、CP_OEMCP、CP_SYMBOL、CP_THREAD_ACP, CP_UTF7 和 CP_UTF8。

8.

com_release
(4.1.0 - 4.3.2 only)

com_release -- 减少组件引用计数。
描述
void com_release ( void )


减少组件引用计数。

9.

com_set
(PHP 3>= 3.0.3, 4.0.5 - 4.3.2 only)

com_set -- 给 COM 组件的属性赋值
描述
void com_set ( resource com_object, string property, mixed value)


设置由 com_object 所引用的对象的 property 属性值。成功则返回新设置的值,出错则返回 FALSE。







entice 2003-10-20
  • 打赏
  • 举报
回复
php能,cgi就不知道了
usstdiy 2003-10-15
  • 打赏
  • 举报
回复
不是吧?这个也没人回答啊?
usstdiy 2003-10-15
  • 打赏
  • 举报
回复
linux下面php和cgi都能调用java嘛?
usstdiy 2003-10-15
  • 打赏
  • 举报
回复
不知道还能不能up
phpcool 2003-10-15
  • 打赏
  • 举报
回复
com只能在win系统下用.linux环境下不能调用.只用调用Java/c++.
usstdiy 2003-10-15
  • 打赏
  • 举报
回复
再up一下
usstdiy 2003-10-15
  • 打赏
  • 举报
回复
我的意思就是说要给各种平台,各种脚本写一个接口(windows和unix平台,asp,jsp,php,cgi各写一个可以调用的接口),但是不知道,PHP都能调用什么样接口形式,在windows和php下面有什么区别,就像xuzuning说的,php可以调用com,那么在linux环境下呢?应该写成什么才能给php调用?不会linux也支持com吧?
usstdiy 2003-10-15
  • 打赏
  • 举报
回复
PHP可以调用什么,windows和linux有什么区别
xuzuning 2003-10-15
  • 打赏
  • 举报
回复
php可以调用com。
不过请你先把com的含义和适用范围弄弄清楚
usstdiy 2003-10-15
  • 打赏
  • 举报
回复
asp可以调用com组件的接口,供PHP调用的接口是什么?(windows下面合linux下面的PHP的调用有什么区别没有)
「已注销」 2003-10-15
  • 打赏
  • 举报
回复
没明白你到底要干吗?

说asp可以用com,后面又加个“windows下和linux有区别没有”,搞不懂~!

难道你在linux下也用asp?也调用com?

先说明白你要干什么~!

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧