La system() Funzione
Il sistema in PHP prende un argomento stringa con il comando da eseguire, nonché tutti gli argomenti che si desidera passato a quel comando. Questa funzione esegue il comando specificato e scarica qualsiasi testo risultante nel flusso di output (l'output HTTP in una situazione del server Web o la console se si esegue PHP come strumento a riga di comando). Il ritorno di questa funzione è l'ultima riga di output del programma, se emette l'output di testo.
La funzione
Il sistema exec() funzione è molto utile e potente, ma uno dei più grandi problemi con esso è che tutto il testo risultante dal programma va direttamente nel flusso di output. Ci saranno situazioni in cui ti piacerebbe 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 pratiche di dumping automaticamente tutto il testo generato dal programma in esecuzione nel flusso di output, ti dà la possibilità di mettere il testo in una matrice restituita nel secondo parametro della funzione:
Il 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 questo. Gli utenti di Windows hanno la possibilità di utilizzare il programma del prompt dei comandi di Windows, cmd.exe Questo programma è noto come shell dei comandi.
Il passthru() funzione
Una funzione affascinante che PHP fornisce simili a quelle che abbiamo visto finora è la funzione passante. Questa funzione, come le altre, esegue il programma a cui lo dici. Tuttavia, procede quindi a inviare immediatamente l'output non elaborato da questo programma al flusso di output con cui sta lavorando PHP (vale a dire HTTP in uno scenario di server Web o shell in una versione a riga di comando di PHP).
Il proc_open() Funzione e popen() funzione
proc_open() è simile a popen() ma fornisce un maggior grado di controllo sulla esecuzione del programma. cmd è il comando che deve essere eseguito dalla shell. descriptorspec è 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 saranno impostate su una serie indicizzata di puntatori di file che corrispondono alla fine di PHP di qualsiasi pipe che viene creata. Il valore di ritorno è una risorsa che rappresenta il processo; dovresti liberarlo usando proc_close() quando hai finito con esso.
Crediti: http://php.net/ & & Chipmunkninja (Link non è menzionato perché non sta funzionando, 404 errore)
fonte
2014-01-09 09:23:48
Ci sono anche 'proc_open()' e 'popen()', che consentono entrambi un maggiore grado di controllo sul processo generato. – Christian