COM

(no version information, might be only in CVS)

COM -- COM class

大綱

$obj = new COM("server.object")

Description

The COM class provides a framework to integrate (D)COM components into your php scripts.

Methods

string COM::COM ( string module_name [, string server_name [, int codepage]])

COM class constructor. Parameters:

module_name

name or class-id of the requested component.

server_name

name of the DCOM server from which the component should be fetched. If NULL, localhost is assumed. To allow DCOM com.allow_dcom has to be set to TRUE in php.ini.

codepage

specifies the codepage that is used to convert php-strings to unicode-strings and vice versa. Possible values are CP_ACP, CP_MACCP, CP_OEMCP, CP_SYMBOL, CP_THREAD_ACP, CP_UTF7 and CP_UTF8.



範例 1. COM example (1)

// starting word
$word = new COM("word.application") or die("Unable to instanciate Word");
print "Loaded Word, version {$word- Version}\n";

//bring it to front
$word- Visible = 1;

//open an empty document
$word- Documents- Add();

//do some weird stuff
$word- Selection- TypeText("This is a test...");
$word- Documents[1]- SaveAs("Useless test.doc");

//closing word
$word- Quit();

//free the object
$word- Release();
$word = null;


範例 2. COM example (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");    // Recordset

$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++;            // increments rowcount
    $rs- MoveNext();
}

$rs- Close();
$conn- Close();

$rs- Release();
$conn- Release();

$rs = null;
$conn = null;