(PHP 4 >= 4.1.0, PHP 5)
COM — COM-Klasse
$obj = new COM("Application.ID")
Die COM-Klasse erlaubt Ihnen, ein OLE-kompatibles COM-Objekt zu erzeugen, seine Methoden aufzurufen und auf seine Eigenschaften zuzugreifen.
COM-Klassenkonstruktor. Die Parameter haben die folgende Bedeutung:
Wenn server_name ein Array ist, sollte es die folgenden Elemente enthalten (Groß- und Kleinschreibung wird unterschiedlich interpretiert!). Beachten Sie, dass alle Elemente optional sind (obwohl Sie bei der Angabe eines Usernamens auch ein Passwort angeben müssen). Wenn Sie die Server-Einstellung weglassen, wird der Standardserver verwendet (wie oben beschrieben), und die Instanziierung des Objekts ist nicht von der Laufzeit-Konfiguration-Direktive betroffen.
server_name -Schlüssel | Typ | Beschreibung |
---|---|---|
Server | string | Der Name des Servers. |
Username | string | Der Username, der für die Verbindung verwendet wird. |
Password | string | Das Passwort für Username . |
Flags | integer | Eine oder mehrere der folgenden Konstanten, mittels logischem OR verknüpft: CLSCTX_INPROC_SERVER, CLSCTX_INPROC_HANDLER, CLSCTX_LOCAL_SERVER, CLSCTX_REMOTE_SERVER, CLSCTX_SERVER und CLSCTX_ALL. Wenn nichts anderes angegeben ist, wird als Standardwert CLSCTX_SERVER angenommen, sofern Sie ebenfalls den Server -Parameter nicht angegeben haben. Ist der Server angegeben, wird CLSCTX_REMOTE_SERVER verwendet. Konsultieren Sie die Microsoftdokumentation für CoCreateInstance, wenn Sie mehr über die Bedeutung dieser Konstanten erfahren wollen, normalerweise werden Sie sie jedoch nicht verwenden. |
Beispiel #1 COM-Beispiel 1
<?php
// Word starten
$word = new COM("word.application") or die("Konnte Word nicht instanziieren");
echo "Word geladen, Verison {$word->Version}\n";
//sichtbar machen
$word->Visible = 1;
//ein leeres Dokument öffnen
$word->Documents->Add();
//irgendetwas damit tun
$word->Selection->TypeText("Dies ist ein Test...");
$word->Documents[1]->SaveAs("Nutzloser Test.doc");
//Word schließen
$word->Quit();
//Objekt freigeben
$word = null;
?>
Beispiel #2 COM-Beispiel 2
<?php
$conn = new COM("ADODB.Connection") or die("Konnte ADO nicht starten");
$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++; // Zeilennummer hochzählen
$rs->MoveNext();
}
$rs->Close();
$conn->Close();
$rs = null;
$conn = null;
?>