Hogyan futtassunk shell parancsokat PHP-n keresztül

Ez a bejegyzés a shell parancsok PHP-n keresztül történő végrehajtását tárgyalja. Így ahelyett, hogy kézzel adnánk be egy parancsot a Linuxban a mappastruktúra keresésére, ezt programozottan, PHP-n keresztül végezzük el. A PHP-n keresztül történő shell-parancsok futtatásának képessége nagy teljesítményű funkció, és óvatosan kell használni. Nem minden tárhelyszolgáltató teszi lehetővé a shell parancsok PHP-n keresztüli végrehajtását.

A shell parancs végrehajtásához használt PHP függvények: shell_exec(), exec() vagy system().

Ezek a függvények nagyon hasonlóak, de vannak kisebb különbségek:

  • a shell_exec() a teljes kimenetet stringként adja vissza. A string lehet NULL, ha hiba lép fel, vagy ha a parancs nem eredményez kimenetet.
  • exec() a végrehajtott parancs utolsó sorát adja vissza stringként. MEGJEGYZÉS: Akkor használja az exec()-t, ha a program kilépéséhez való hozzáférésre van szüksége. a shell_exec() nem ad információt a program kilépési kódjáról.
  • system() hasonló a shell_exec()-hez, de a kimenetet közvetlenül (az echo() vagy print() használata nélkül) jeleníti meg.

shell_exec() & exec() példa:

Mindkét shell függvény ugyanúgy működik. Vegyük észre a korábban említett különbségeket.

<?echo shell_exec("ls / -ltr");?>

Eredmény:

total 2097248 drwxr-xr-x 2 root root 4096 Apr 26 19:07 opt drwxr-xr-x 2 root root 4096 Apr 26 19:07 media drwxr-xr-x 2 root root 4096 Apr 26 19:07 lib64 lrwxrwxrwx 1 root root ….

A válasz \n sortörést tartalmaz. Használja a str_replace(“\n”, “<BR>”, shell_exec(“ls / -ltr”)) parancsot az újsor karakterek HTML-barát BR karakterekkel való helyettesítéséhez.

Példa:

total 2097248drwxr-xr-x 2 root root 4096 Apr 26 19:07 optdrwxr-xr-x 2 root root 4096 Apr 26 19:07 mediadrwxr-xr-x 2 root root 4096 Apr 26 19:07 lib64

system() példa:

A system() függvényt a PHP-n keresztül shell parancsok végrehajtására is használjuk.

<?system("ls / -ltr");?>

Eredmény:

total 2097248 drwxr-xr-x 2 root root 4096 Apr 26 19:07 opt drwxr-xr-x 2 root root 4096 Apr 26 19:07 media drwxr-xr-x 2 root root 4096 Apr 26 19:07 lib64 lrwxrwxrwx 1 root root ….

Látogasson el https://anto.online további PHP-ről szóló bejegyzésekért!

A szerzőkről

Az Anto szerkesztőségének minden tagja a maga nemében Cloud-szakértő. Az Anto Online nagy büszkeséggel segíti a Cloud-rajongó kollégákat. Szóljon nekünk, ha kiváló ötlete van a következő témához!

Támogassa az ügyet

Támogassa az Anto Online-t, és vegyen nekünk egy kávét. Kávéval és kóddal bármi lehetséges.

Vegyél nekem egy kávét

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.