execEsegue un programma esternoDescrizionestringexecstringcommandstringarray
intreturn_varexec esegue il comando passato da
command, la funzione non invia nessun output.
Restituisce semplicemente l'ultima linea dal risultato del comando.
Se si ha bisogno di eseguire un comando ed avere tutti i dati passati
direttamente indietro senza alcuna interferenza, usare la funzione passthru.
Se l'argomento array è presente, allora tale vettore specificato
verrà riempito con ogni linea del output del comando.
Notare che se il vettore contiene già degli elementi,
exec li aggiungerà in coda al vettore.
Se non si vuole che la funzione aggiunga elementi, eseguire un
unset sul vettore prima di passarlo ad
exec.
Se viene passato l'argomento return_var
assieme all'argomento array, allora lo stato
del comando eseguito verrà scritto in questa variabile.
Si osservi che se si intende allocare dati che giungono dall'utente
per passarli a questa funzione, si dovrebbe usare
escapeshellarg o
escapeshellcmd per assicurarsi che l'utente
non forzi il sistema ad eseguire comandi arbitrari.
Notare anche che se si esegue un programma usando questa funzione e lo si vuole lasciare
in esecuzione in background, ci si deve assicurare che l'output del programa venga rediretto
ad un file o a qualche altro flusso di output, altrimenti PHP rimarrà bloccato in attesa fino alla
fine dell'esecuzione del programma.
Vedere anche system,
passthru, popen,
escapeshellcmd e l'operatore backtick.