Forum und email

com

(No version information available, might be only in CVS)

com — COM Klasse

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

Beschreibung

Die COM Klasse bietet ein Gerüst zur Integration von (D)COM Komponenten in Ihre PHP Skripte.

Methoden

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

COM Klassen Konstruktor. Parameter:

module_name
Name oder Klassen-ID der gewünschten Komponente.
server_name
Name des DCOM Servers, von welchem die Komponente geholt werden soll. Ist NULL angegeben, wird localhost angenommen. Um DCOM zuzulassen, muss com.allow_dcom in der php.ini auf TRUE gesetzt sein.
codepage
Spezifiziert die Codepage, welche zur Konvertierung der PHP-Strings in Unicode-Strings und umgekehrt verwendet wird. Mögliche Werte sind CP_ACP, CP_MACCP, CP_OEMCP, CP_SYMBOL, CP_THREAD_ACP, CP_UTF7 und CP_UTF8.

Example#1 COM Beispiel (1)

// Word starten
$word = new COM("word.application") or die("Konnte Word nicht instantiieren");
print "Word geladen, Version {$word->Version}\n";

//Fenster anzeigen
$word->Visible = 1;

//ein leeres Dokument öffnen
$word->Documents->Add();

//irgendetwas tun
$word->Selection->TypeText("Dies ist ein Test...");
$word->Documents[1]->SaveAs("Useless test.doc");

//Word schließen
$word->Quit();

//Das Objekt freigeben
$word->Release();
$word = null;

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