COM support functions for WindowsCOM
These functions are only available on the Windows version of
PHP. These functions have been added in PHP 4.
COMCOM class$obj = new COM("server.object")Description
The COM class provides a framework to integrate (D)COM components into your php scripts.
PropertiesMethodsstring COM::COMstring module namestring server nameint codepageDescription
COM 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.
string COM::AddRefDescription
Increases the components reference counter.
string COM::ReleaseDescription
Decreases the components reference counter.
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;
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;
com_load
Creates a new reference to a COM component
Descriptionstring com_loadstring module namestring
server nameint
codepagecom_load creates a new COM component and
returns a reference to it. Returns false on
failiure.Possible values for codepage are CP_ACP, CP_MACCP,
CP_OEMCP, CP_SYMBOL, CP_THREAD_ACP, CP_UTF7
and CP_UTF8.
com_invoke
Calls a COM component's method.
Descriptionmixed com_invokeresource com_objectstring function_namemixed
function parameters, ...Com_invoke invokes a method of the COM
component referenced by
com_object. Returns
false on error, returns the
function_name's return value on success.
com_propget
Gets the value of a COM Component's property
Descriptionmixed com_propgetresource com_objectstring property
This function is an alias for com_get.
com_get
Gets the value of a COM Component's property
Descriptionmixed com_getresource com_objectstring property
Returns the value of the property of the
COM component referenced by com_object.
Returns false on error.
com_propput
Assigns a value to a COM component's property
Descriptionvoid com_propputresource com_objectstring propertymixed value
This function is an alias for com_set.
com_propset
Assigns a value to a COM component's property
Descriptionvoid com_propsetresource com_objectstring propertymixed value
This function is an alias for com_set.
com_set
Assigns a value to a COM component's property
Descriptionvoid com_setresource com_objectstring propertymixed value
Sets the value of the property of the COM
component referenced by com_object.
Returns true if
property is set. Returns
false on error.
com_addref
Increases the components reference counter.
Descriptionvoid com_addref
Increases the components reference counter.
com_addref
Decreases the components reference counter.
Descriptionvoid com_release
Decreases the components reference counter.