PHP kézikönyv
Előző |  | Következő

# system

(PHP 3, PHP 4, PHP 5)

system -- Külső programot futtat, és a kimenetet megjeleníti

## Leírás

string system ( string command [, int &return_var] )

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

Példa 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

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".

## Lásd még

exec()
passthru()
popen()
escapeshellcmd()
pcntl_exec()
végrehajtó operátor

Előző | Tartalom | Következő
shell_exec | Fel | PostScript document creation