PHP -skriptet brukes hovedsakelig til å utvikle webapplikasjoner, men det kan brukes til andre formål også. PHP har noen innebygde funksjoner for å utføre systemrelaterte kommandoer. exec () er en av dem. Det brukes til å utføre skallkommandoer eller et hvilket som helst program fra PHP -skriptet. Hvordan denne funksjonen kan brukes i PHP vises i denne opplæringen.
Syntaks:
String exec (String $ Command [, Array & $ output [, int & $ return_var]])Denne funksjonen kan ta tre argumenter. Det første argumentet er obligatorisk som vil ta systemkommandoen. De to andre argumentene er valgfrie. Det andre argumentet brukes til å lagre output fra kommandoen i en matrise. Det tredje argumentet for denne funksjonen brukes til å lagre returstatusen til den utførte kommandoen. Denne funksjonen returnerer den siste linjen fra den utførte kommandoproduksjonen.
Eksempel-1: Bruk av exec () -funksjon uten valgfrie argumenter
Den grunnleggende bruken av Exec () -funksjonen har vist i denne opplæringen. Lag en PHP -fil med følgende skript for å vite hvordan Exec () -funksjonen returnerer kommandoproduksjonen. 'PWD'Kommando har brukt i den første exec () -kommandoen over skriptet som returnerer en utgangslinje. 'ls -la'Kommando har blitt brukt i kommandoen for andre exec () som kan returnere flere utdatilinjer. Hvis noen kommando returnerer flere linjer, vil utdataene vise den siste linjen som utdata.
// lagre utdataene fra den utførte kommandoenProduksjon:
Følgende utgang vises etter å ha kjørt skriptet ovenfor fra serveren. 'PWD'Kommando returnerer gjeldende arbeidskatalog som utdata som vises i den første utgangen. 'ls -la'Kommando returnerer detaljene informasjon om listen over kataloger, og den andre utgangen viser den siste linjen fra kommandoutgangen.
Eksempel-2: Skriv ut alle verdiene for den utførte kommandoen
I forrige eksempel brukes ikke noe valgfritt argument i Exec () -funksjonen. Følgende eksempel viser bruk av valgfrie argumenter fra Exec () -funksjonen. Opprett en PHP -fil med følgende skript. To valgfrie argumenter for exec () brukes i dette skriptet. 'ls -l'Kommando brukes i det første argumentet som returnerer listen over kataloger. $ utgang Variabel brukes her for å lagre utdataene fra kommandoen i en matrise. $ Status Variabel brukes til å lagre returstatusverdien til den utførte kommandoen. Utgangen fra kommandoen vil bli skrevet ut som en matrise, og hver verdi av output -matrisen vil bli skrevet ut ved å bruke 'for' -sløyfen.
// lagre utdataene fra den utførte kommandoen i en matriseProduksjon:
Følgende utgang vises etter å ha kjørt skriptet ovenfor fra serveren. Utgangen viser matrisen som inneholder utgangen fra kommandoen, 'ls -l' og hver verdi av matrisen i hver linje.
Eksempel-3: Skriv ut alle PHP-filer i den gjeldende katalogen
Følgende eksempel viser listen over alle PHP -filer i den gjeldende katalogen ved å bruke Exec () -funksjonen. Her, 'ls -l *.PHP'Kommando brukes her for å finne ut listen over alle PHP -filer i den gjeldende katalogen. Tag brukes i skriptet for å skrive ut innholdet i matrisen med det strukturerte formatet.
// lagre utdataene fra den utførte kommandoen i en matrise";";
print_r ($ output);
ekko "
Produksjon:
Følgende utgang vises etter å ha kjørt skriptet ovenfor fra serveren.
Eksempel-4: Kjør et bashskript
Hvordan ethvert bash -skript kan utføres ved bruk av Exec () -funksjonen har vist i dette eksemplet. Lag en bash -fil som heter Løkke.sh med følgende skript som vil skrive ut alle jevnt tall fra 1 til 20.
Løkke.sh
#!/bin/bashLag en PHP -fil med følgende skript for å kjøre bashskriptet. 'bash loop.sh'brukes som det første argumentet for exec () -funksjonen som vil utføre Løkke.sh skriptfil. 'for hver'Loop brukes til å skrive ut hver verdi av $ utgang med plass.
// Kjør Bash -skriptetProduksjon:
Følgende utgang vises etter å ha kjørt skriptet ovenfor fra serveren. Utgangen viser alle jevnt tall innen 1 til 20.
Eksempel-5: Kjør 'Dir' -kommando ved hjelp av Exec () -funksjon
'dir' -kommando fungerer som 'ls' -kommandoen. Følgende eksempel viser hvordan 'Dir' -kommandoen kan utføres ved hjelp av et PHP -skript. Opprett en PHP -fil med følgende skript som lagrer utdataene fra 'Dir' -kommandoen i matrisen som heter $ utgang og statusverdien i den navngitte variabelen $ Retur. var_dump () funksjon brukes her til å skrive ut strukturen til $ utgang matrise med informasjon om datatype.
// Kjør 'Dir' -kommando";";
// Skriv ut kommandoutgangen
var_dump ($ output);
ekko "
Produksjon:
Følgende utgang vises etter å ha kjørt skriptet ovenfor fra serveren.
Konklusjon:
Ulike bruksområder av Exec () -funksjonen er blitt forklart i denne opplæringen for å hjelpe PHP -koderne til å kjenne måten å utføre Shell -kommandoen ved å bruke PHP -skriptet. Noen andre funksjoner eksisterer også i PHP for å gjøre samme type oppgave.