exec
(PHP 4, PHP 5)
exec — Külső programot futtat
LeÃrás
Az exec() lefuttatja a command -ban megadott parancsot.
Paraméterek
- command
-
A végrehajtandó parancs.
- output
-
Az output paraméter megadásával a program kimenetét a PHP soronként a megadott tömb végéhez fűzi. A sorvégi üres helyek, mint például a \n, nem kerülnek bele a tömbbe. Ha az átadott tömb már tartalmaz néhány elemet, akkor az exec() a benne lévÅ‘ adatok után fűzi a sorokat. Ha nincs szükség a régi elemekre, akkor az unset() függvénnyel lehet törölni az egész tömböt, az exec() meghÃvása elÅ‘tt.
- return_var
-
Az output paraméterrel együtt a return_var a futtatott parancs visszatérési állapotát tárolja el.
Visszatérési értékek
A kimenet utolsó sora. Ha úgy szeretnél végrehajtani egy parancsot, hogy az egész kimenetét változatlanul megkapd, használd a passthru() függvényt.
Hogy megkapd a parancs kimenetét, állÃtsd be és használd az output paramétert.
Példák
Example#1 Egy exec() példa
<?php
// az aktuális php/http processzt birtokló felhasználó nevét Ãrja ki
// (feltéve, ha olyan rendszeren vagyunk, amelyen a "whoami" elérhető)
echo exec('whoami');
?>
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".