A system() függvény olyan, mint C-beli társa, azaz a command paraméterben megadott parancsot futtaja, és kiírja a kimenetet.
Ha a PHP szervermodulként fut, a system() függvény megpróbálja a kimenet minden sora után automatikusan kiküldeni (flush) a webszerver kimeneti pufferét.
Ha úgy szeretnél végrehajtani egy parancsot, hogy az egész kimenetét változatlanul megkapd, használd a passthru() függvényt.
A végrehajtandó parancs.
Ha a return_var argumentum meg van adva, akkor a végrehajtott parancs visszatérési állapota ide kerül.
Figyelem |
Ha felhasználótól származó adatot kell átadni ennek a függvénynek, akkor előtte használd az escapeshellcmd() függvényt, annak biztosítására, hogy nem tudnak a felhasználók tetszőleges parancsot futtatni. |
Megjegyzés: Ezzel a függvénnyel elindított de háttérben futó program kimenetét mindenképpen fájlba vagy valamilyen más kimeneti csatornába kell átirányítani. Ellenkező esetben a PHP várakozni fog addig, amíg a program futása be nem fejeződik.
Megjegyzés: Bekapcsolt safe_mode mellett csakis a safe_mode_exec_dir által megadott könyvtárban található állományok futtathatóak. Mindemellett a futtatható állomány megadásának útvonalában nem szerepelhet a .. elem.
Figyelem |
Bekapcsolt safe_mode mellett minden, ami a nyitó parancs után következik, egy darab argumentumként lesz kezelve. Az echo y | echo x utasítás ez esetben tehát ilyenné alakul: echo "y | echo x". |