System () Funkcja
Funkcja systemowa w PHP pobiera argument ciągu z poleceniem do wykonania, a także wszelkie argumenty, które chcesz przekazać do tego polecenia. Ta funkcja wykonuje określone polecenie i zrzuca dowolny wynikowy tekst do strumienia wyjściowego (wyjście HTTP w sytuacji serwera WWW lub konsola, jeśli używasz PHP jako narzędzia wiersza poleceń). Zwrot tej funkcji jest ostatnim wierszem wyjścia programu, jeśli emituje tekst.
Exec () Funkcja
Funkcja systemowa jest dość użyteczna i wydajna, ale jednym z największych problemów jest to, że cały wynikowy tekst z programu trafia bezpośrednio do strumienia wyjściowego. Będą sytuacje, w których możesz chcieć sformatować wynikowy tekst i wyświetlić go w inny sposób lub w ogóle go nie wyświetlić.
W tym celu funkcja exec w PHP jest doskonale dostosowana. Zamiast automatycznego zrzutu całego tekstu generowanego przez program wykonywany do strumienia wyjściowego, daje on możliwość umieszczenia tego tekstu w tablicy zwróconej w drugim parametrze do funkcji:
Shell_exec () Funkcja
Większość programów, które do tej pory wykonywaliśmy, były mniej więcej prawdziwymi programami1. Jednak środowisko, w którym działają użytkownicy systemów Windows i Unix, jest znacznie bogatsze niż to. Użytkownicy systemu Windows mają możliwość korzystania z programu Windows Command Prompt, cmd.exe Program ten jest znany jako powłoka poleceń.
Pośredni () Funkcja
Jedną z fascynujących funkcji PHP, podobnych do tych, które widzieliśmy do tej pory, jest funkcja passthru. Ta funkcja, podobnie jak inne, uruchamia program, który mu powiesz. Następnie przechodzi do natychmiastowego wysyłania nieprzetworzonych danych wyjściowych z tego programu do strumienia wyjściowego, z którym PHP obecnie pracuje (tj. Albo HTTP w scenariuszu serwera WWW, albo powłokę w wersji PHP wiersza poleceń).
Proc_open () Funkcja i popen ()
funkcja
proc_open () jest podobny do popen (), ale zapewnia znacznie większy stopień kontroli nad wykonywaniem programu. cmd to polecenie wykonywane przez powłokę. descriptorspec to tablica indeksowana, w której klucz reprezentuje numer deskryptora, a wartość reprezentuje sposób, w jaki PHP przekaże ten deskryptor procesowi potomnemu. potoki zostaną ustawione na indeksowaną tablicę wskaźników plików, które odpowiadają końcowi PHP wszystkich tworzonych potoków. Wartość zwracana jest zasobem reprezentującym proces; powinieneś go zwolnić za pomocą proc_close (), kiedy skończysz.
proc_open()
ipopen()
, które pozwalają na wyższy stopień kontroli nad procesem spawnowania.