Dokumentation
IPS_Execute
boolean IPS_Execute (string $Programmpfad, string $Parameter, boolean $Dummy, boolean $Warten)
Parameterliste
Programmpfad | Vollständiger Pfad zum Programm |
Parameter | An das Programm zu übergebende Parameter (optional) |
Dummy | V1 Parameter. Wird in der V2 nicht ausgewertet. |
Warten | Gibt an, ob auf das Programmende gewartet werden soll. |
Rückgabewert
Den Rückgabewert von stderr/stdout, wenn der Warten Parameter auf True ist, sonst ist die Rückgabe ein leerer String.
Beschreibung
Die Funktion veranlasst den Start des externen Programms mit dem Namen ProgrammName. Dem Programm wird der String-Parameter als Aufrufparameter übergeben. Der Boolean-Wert Warten legt fest, ob das Programmende abgewartet oder das aufrufende Skript sofort fortgesetzt werden soll. Wird auf das Ergebnis gewartet, erscheint dieses, falls vorhanden, als String im Rückgabewert.
Als Quelle für den Rückgabewert kommt eine der folgenden Programmausgaben in Frage:
- Ausgabe nach stderror
- Ausgabe nach stdout
Werden vom Programm beide Möglichkeiten genutzt, erhält stderror den Vorrang, um z.B. Fehlermeldungen nicht zu verlieren.
Vorsicht: Beim Warten auf das Programmende verlängert sich die Laufzeit des Skripts entsprechend. Dabei ist darauf zu achten, dass die in der Datei “php.ini” definierte maximale Laufzeit nicht überschritten wird. Andernfalls wird das Skript mit einer Fehlermeldung abgebrochen. Dies ist vor allem dann wichtig, wenn das Programm Benutzereingaben erwartet.
Achtung: Wenn das zu startende Programm interaktiv ist (z.B. ein Fenster beinhaltet), wird dieses nicht angezeigt/ sichtbar. Es wird im Hintergrund als System-Prozess gestartet und kann dann nur mit Hilfe des Task-Managers gestoppt werden. Soll das Programm auf dem Desktop angezeigt werden, muss die IPS_ExecuteEx Funktion verwendet werden.
Beispiel
//Eine Batchdatei starten
IPS_Execute("C:/autoexec.bat", "", false, false);