En system() Funktion
Die Systemfunktion in PHP tak auszuführenden Befehl sowie alle Argumente, die Sie an diesen Befehl übergeben möchten. Diese Funktion führt den angegebenen Befehl aus und gibt den resultierenden Text in den Ausgabestrom (entweder die HTTP-Ausgabe in einem Webserver Situation oder die Konsole, wenn Sie PHP als Kommandozeilenprogramm Werkzeug benutzen). Der Rückgabewert dieser Funktion ist die letzte Zeile der Ausgabe des Programms, wenn es eine Textausgabe ausgibt.
En exec() Funktion
Die Systemfunktion ist sehr nützlich und leistungsfähig, aber eine der größten Probleme dabei ist, dass der gesamte vom Programm erzeugte Text direkt in den Ausgabestrom geht. Es wird Situationen geben, in denen Sie den resultierenden Text formatieren und auf eine andere Art und Weise anzeigen möchten anders oder gar nicht anzeigen möchten.
Hierfür ist die exec-Funktion in PHP perfekt geeignet. Anstatt automatisch den gesamten vom ausgeführten Programm erzeugten Text ausgeben in den Ausgabestrom zu werfen, gibt sie einem Array zu speichern, das im zweiten Parameter der Funktion zurückgegeben wird:
En shell_exec() Funktion
Die meisten der Programme, die wir bisher durchgeführt haben, waren, mehr mehr oder weniger echte Programme1. Allerdings ist die Umgebung, in der Windows- und Unix-Benutzer arbeiten, ist in Wirklichkeit viel reichhaltiger als das. Windows-Benutzer haben die Möglichkeit, das Windows-Eingabeaufforderungsprogramm cmd.exe zu verwenden. Dieses Programm wird auch als Befehlsshell bezeichnet.
En passthru() Funktion
Eine faszinierende Funktion, die PHP ähnlich wie bisher gesehen haben, ist die PassThru-Funktion. Diese Funktion, wie auch die anderen, das Programm aus, das Sie ihr auftragen. Sie fährt dann jedoch fort mit sofort die Rohausgabe dieses Programms an den Ausgabestrom mit dem PHP gerade arbeitet (d.h. entweder HTTP in einem Webserver Szenario, oder die Shell in einer Kommandozeilenversion von PHP).
En proc_open() Funktion und popen() Funktion
proc_open() ist ähnlich wie popen(), bietet aber ein viel größeres Maß an Kontrolle über die Programmausführung. cmd ist der Befehl, der von der Shell ausgeführt werden soll. descriptorspec ist ein indiziertes Array, wobei der Schlüssel die Deskriptornummer darstellt und der Wert angibt, wie PHP diesen Deskriptor an den Kindprozess weitergibt. pipes wird auf ein indiziertes Array von Dateizeigern, die dem Ende von PHPs Pipes entspricht, die erzeugt werden. Der Rückgabewert ist eine Ressource, die den Prozess repräsentiert; Sie sollten ihn mit proc damit fertig sind.