Manuale PHP
Indietro |  | Avanti

# system

(PHP 3, PHP 4, PHP 5)

system -- Esegue un programma esterno e mostra l'output

## Descrizione

string system ( string command [, int &return_var] )

system() è semplicemente come la versione C della funzione che esegue il command dato e restituisce in uscita il risultato. Se viene fornita una variabile come secondo argomento, allora il codice di stato ritornato dal comando eseguito verrà scritto in tale variabile.

Avvertimento
Se si permette di passare a questa funzione i dati provenineti dagli input utente, si dovrebbe utilizzare la funzione escapeshellarg() oppure escapeshellcmd() in modo da essere sicuri che gli utenti non possano compromettere il sistema eseguendo comandi arbitrari.

> Nota: Se si vuole avviare un programma tramite questa funzione e lasciarlo girare in background, occorre essere certi che l output del programma sia rediretto su un file o qualche altro flusso di output altrimenti il PHP sarà sospenderà fino a quando il programma non termina.

La chiamata a system() tenta anche di ripulire automaticamente il buffer di output del web server dopo ogni linea di output se PHP gira come un modulo server.

Restituisce l'ultima linea del output del comando se ha successo e `FALSE` se fallisce.

Se devi eseguire un comando ottenendo tutti i dati restituiti dal comando direttamente senza alcuna interferenza, usa la funzione passthru().

Esempio 1. system() example

`<?php echo '<pre>'; // Mette in output tutti i risultati della shellcommand "ls", e restituisce // l'ultima linea di output nella $last_line. Memorizza il valore restituito // del comando da shell in $retval. $last_line = system('ls', $retval); // Stampa informazioni aggiuntive echo ' </pre> <hr />L'ultima linea dell'output: ' . $last_line . ' <hr />Restituisce il valore: ' . $retval; ?>`

> Nota: Quando si abilita la modalità sicura, si può eseguire soltanto gli eseguibili presenti nella directory safe_mode_exec_dir. Per motivi pratici, attualmente, non ` permesso avere .. come componente del percorso di un eseguibile.

Avvertimento
Con la modalità sicura attivata, tutte le parole che seguono il comando iniziale sono trattate come argomenti. Quindi, echo y | echo x diventa echo "y | echo x".

Vedere anche exec(), passthru(), popen(), escapeshellcmd(), pcntl_exec(), e l'operatore backtick.

Indietro | Partenza | Avanti
shell_exec | Risali | PostScript document creation