Heim > Artikel > Backend-Entwicklung > Was sind die Funktionen zur Ausführung von PHP-Befehlen?
PHP verfügt über mehrere häufig verwendete Funktionen zum Ausführen von Systembefehlen, wie zum Beispiel: Systemfunktion, Exec-Funktion, Popen-Funktion, Durchgang, Shell_exec-Funktion. Sie alle können Systembefehle ausführen
Exec-Funktion
Die Syntax der Exec-Funktion lautet: (empfohlenes Lernen: PHP-Programmierung vom Anfänger bis zum Experten)
exec ( string $command [, array &$output [, int &$return_var ]] ) = exec('ping 127.0.0.1',$output,$return_var)
Die Funktion dieser Funktion besteht darin, den durch den Befehlsparameter angegebenen Befehl auszuführen. Der Wert nach der Befehlsausführung ist die letzte Zeile des Ausgabewerts, und die Funktion selbst gibt nichts aus.
String, Array und Int sind die Datentypen von Parametern, nämlich String, Array und Integer.
Die Bedeutung der eckigen Klammern besteht darin, dass, wenn der vorherige Parameter vorhanden ist, die Parameter in den eckigen Klammern geschrieben werden können oder nicht. Beispiel: Wenn der Parameter $command vorhanden ist, ist der Parameter $output optional. Wenn der Parameter $output nicht vorhanden ist, kann $return_var nicht angezeigt werden.
Befehl: Der auszuführende Befehl.
Ausgabe: Wenn der Ausgabeparameter angegeben wird, wird dieses Array mit der Ausgabe der Befehlsausführung gefüllt, wobei jede Ausgabezeile ein Element im Array füllt. Die Daten im Array enthalten keine abschließenden Leerzeichen, z. B. n Zeichen. Bitte beachten Sie, dass die Funktion exec() an das Ende des Arrays angehängt wird, wenn das Array bereits einige Elemente enthält. Wenn Sie nicht am Ende des Arrays anhängen möchten, verwenden Sie die Funktion unset(), um das Array zurückzusetzen, bevor Sie es an die Funktion exec() übergeben.
return_var: Wenn sowohl Output- als auch return_var-Parameter bereitgestellt werden, wird der Rückgabestatus nach der Befehlsausführung in diese Variable geschrieben. Wenn der Befehl erfolgreich ausgeführt wird, ist der Statuscode 0; wenn die Befehlsausführung fehlschlägt, ist der Statuscode 1.
Systemfunktion
Die Syntax der Systemfunktion lautet:
system ( string $command [, int &$return_var ] ) = system('ping -c 127.0.0.1',$return_var)
Die gleiche wie die C-Version des Systems () Funktion, diese Funktion führt den durch den Befehlsparameter angegebenen Befehl aus und gibt das Ausführungsergebnis aus. Der Rückgabewert nach der Befehlsausführung ist die letzte Zeile des Ausgabewerts, und die Funktion selbst gibt auch alle Ausgabewerte aus.
String und int sind die Datentypen von Parametern, die jeweils String und Integer sind.
Wenn PHP im Servermodul ausgeführt wird, versucht die Funktion system() außerdem, den Ausgabecache des Webservers nach jeder Ausgabezeile automatisch zu aktualisieren.
Befehl: Der auszuführende Befehl.
return_var: Wenn der Parameter return_var bereitgestellt wird, wird der Rückgabestatus nach der Ausführung des externen Befehls auf diese Variable gesetzt. Wenn der Befehl erfolgreich ausgeführt wird, ist der Statuscode 0; wenn die Befehlsausführung fehlschlägt, ist der Statuscode 1.
Passthru-Funktion
Die Syntax der Passthru-Funktion lautet:
passthru ( string $command [, int &$return_var ] ) = passthru('ping 12.0.0.1',$return_var)
String und int sind die Datentypen der Parameter bzw. Strings und ganze Zahlen. Die Funktion selbst gibt alle Ausgabewerte aus, aber die Funktion hat keinen Rückgabewert.
Ähnlich wie die Funktion exec() wird auch die Funktion passhru() zum Ausführen externer Befehle verwendet. Wenn der ausgeführte Systembefehl Binärdaten ausgibt und direkt an den Browser übertragen werden muss, muss diese Funktion anstelle der Funktion exec() oder system() verwendet werden.
Befehl: Der auszuführende Befehl.
return_var: Wenn der Parameter return_var angegeben wird, wird der Rückgabestatus des Unix-Befehls in diesem Parameter protokolliert.
Shell_exec-Funktion
Die Syntax der Shell_exec-Funktion lautet:
$output=shell_exec ( string $cmd ) = $output=shell_exec(`ping 127.0.0.1`) = $output=shell_exec("ping 127.0.0.1")
cmd ist der auszuführende Befehl.
String ist der Datentyp des Parameters, bei dem es sich um einen String handelt. Nach Abschluss der Befehlsausführung gibt die Funktion alle Ausgabewerte als Zeichenfolgeneingabe- und Rückgabewerte ein und gibt selbst keine Informationen aus.
Die Verwendung der Shell_exec-Funktion ist die gleiche wie bei Backticks. Beachten Sie, dass die Backticks (``) anstelle gewöhnlicher einfacher Anführungszeichen ('') verwendet werden.
Das obige ist der detaillierte Inhalt vonWas sind die Funktionen zur Ausführung von PHP-Befehlen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!