COM support functions for Windows COM These functions are only available on the Windows version of PHP. These functions have been added in PHP 4. COM COM class $obj = new COM("server.object") Description The COM class provides a framework to integrate (D)COM components into your php scripts. Properties Methods string COM::COM string module name string server name int codepage Description 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::AddRef Description Increases the components reference counter. string COM::Release Description 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 Description string com_load string module name string server name int codepage com_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. Description mixed com_invoke resource com_object string function_name mixed 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 Description mixed com_propget resource com_object string property This function is an alias for com_get. com_get Gets the value of a COM Component's property Description mixed com_get resource com_object string 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 Description void com_propput resource com_object string property mixed value This function is an alias for com_set. com_propset Assigns a value to a COM component's property Description void com_propset resource com_object string property mixed value This function is an alias for com_set. com_set Assigns a value to a COM component's property Description void com_set resource com_object string property mixed 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. Description void com_addref Increases the components reference counter. com_addref Decreases the components reference counter. Description void com_release Decreases the components reference counter.