system
(PHP 4, PHP 5)
system — KülsÅ‘ programot futtat, és a kimenetet megjelenÃti
LeÃrás
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.
Paraméterek
- command
-
A végrehajtandó parancs.
- return_var
-
Ha a return_var argumentum meg van adva, akkor a végrehajtott parancs visszatérési állapota ide kerül.
Visszatérési értékek
A parancs kimenetének utolsó sora, hiba esetén pedig FALSE.
Példák
Example#1 system() példa
<?php
echo '<pre>';
// KiÃrja az "ls" shell parancs teljes kimenetét, és a kimenet
// utolsó sorát az $utolso_sor változóba Ãrja. A shell parancs
// visszatérési értékét a $vissza_ertek változóba teszi.
$utolso_sor = system('ls', $vissza_ertek);
// További infó kiÃrása
echo '
</pre>
<hr />Utolsó sor: ' . $utolso_sor . '
<hr />Visszaadott érték: ' . $vissza_ertek;
?>
Megjegyzések
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.
Note: 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.
Note: 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.
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".