PHP Manual
后退 |  | 前进

# 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;`

后退 | 起点 | 前进
Windows 的 COM 支持函数库 | 上一级 | DOTNET