Il sistema di () Funzione
La funzione di sistema in PHP accetta un argomento stringa con il comando da eseguire e qualsiasi argomento che si desidera passare a quel comando. Questa funzione esegue il comando specificato e scarica il testo risultante nel flusso di output (o l'output HTTP in una situazione del server Web o la console se si esegue PHP come strumento da riga di comando). Il ritorno di questa funzione è l'ultima riga di output dal programma, se emette output di testo.
Il exec () Funzione
La funzione di sistema è abbastanza utile e potente, ma uno dei maggiori problemi è che tutto il testo risultante dal programma va direttamente al flusso di output. Ci saranno situazioni in cui potresti voler formattare il testo risultante e visualizzarlo in un modo diverso o non visualizzarlo affatto.
Per questo, la funzione exec in PHP è perfettamente adattata. Invece di scaricare automaticamente tutto il testo generato dal programma in esecuzione nel flusso di output, ti dà la possibilità di inserire questo testo in un array restituito nel secondo parametro alla funzione:
Lo shell_exec () Funzione
La maggior parte dei programmi che abbiamo eseguito finora sono stati, più o meno, programmi reali1. Tuttavia, l'ambiente in cui operano gli utenti Windows e Unix è in realtà molto più ricco di così. Gli utenti Windows hanno la possibilità di utilizzare il programma Prompt dei comandi di Windows, cmd.exe Questo programma è noto come shell dei comandi.
Il passthru () Funzione
Una funzione affascinante che PHP fornisce in modo simile a quelli che abbiamo visto finora è la funzione passthru. Questa funzione, come le altre, esegue il programma a cui gli hai detto. Tuttavia, procede quindi a inviare immediatamente l'output non elaborato da questo programma al flusso di output con cui PHP sta attualmente lavorando (ovvero HTTP in uno scenario di server Web o shell in una versione a riga di comando di PHP).
La funzione proc_open () e popen ()
funzione
proc_open () è simile a popen () ma fornisce un grado molto maggiore di controllo sull'esecuzione del programma. cmd è il comando che deve essere eseguito dalla shell. descrittore è un array indicizzato in cui la chiave rappresenta il numero del descrittore e il valore rappresenta il modo in cui PHP passerà tale descrittore al processo figlio. le pipe verranno impostate su una matrice indicizzata di puntatori di file che corrispondono alla fine di PHP di tutte le pipe create. Il valore restituito è una risorsa che rappresenta il processo; dovresti liberarlo usando proc_close () quando hai finito.
proc_open()
epopen()
, entrambi i quali consentono un maggiore grado di controllo sul processo generato.