Manual do PHP
Anterior |  | Próxima

# system

(PHP 3, PHP 4 , PHP 5)

system -- Executa um programa externo e mostra a saída

## Descrição

string system ( string command [, int return_var])

system() é igual a versão C desta função no que executa o command indicado e mostra o resultado. Se é dada uma variável como segundo argumento, então o código de status de retorno será escrito nesta variável.

Atenção
Se você for permitir que dados vindos do usuário sejam passados para essa função, eles precisam passar por escapeshellarg() ou escapeshellcmd() para se certificar que os usuários não tentarão enganar o sistema com comandos arbitrários.

> Nota: Se você iniciar um programa com essa função e deseja que ele continue rodando em background, você precisa garantir que as saídas do programa sejam redirecionadas para um arquivo ou outro suporte a stream senão o PHP irá esperar até que a execução do programa termine.

A função system() também tenta automaticamente limpar o buffer de saída do servidor mandando os dados para o browser após cada linha de saída se o PHP estiver sendo executado como módulo de servidor.

Retorna a última linha da saída do comando em caso de sucesso ou `FALSE` em caso de falha.

Se você precisa executar um comando e ter todos os dados do comando passados sem nenhuma interferencia, use a função passthru().

Exemplo 1. Exemplo system()

`<?php echo '<pre>'; // Mostra todo o resultado do comando do shell "ls", e retorna // a última linha da saída em $last_line. Guarda o valor de retorno // do comando shell em $retval. $last_line = system('ls', $retval); // Mostrando informação adicional echo ' </pre> <hr />Última linha da saída: '.$last_line.' <hr />Valor de Retorno: '.$retval; ?>`

> Nota: Quando o safe mode estiver ativo, você só pode chamar executáveis dentro de safe_mode_exec_dir. Por razões práticas não é permitido haver .. no caminho do executável.

Atenção
Com safe mode ativo, todas as palavras seguintes ao comando inicial são tratadas com um único argumento. Assim echo y | echo x se torna echo "y | echo x".

Veja também exec(), passthru(), popen(), escapeshellcmd(), pcntl_exec() e backtick operator.

Anterior | Principal | Próxima
shell_exec | Acima | Impressão