(PHP 4, PHP 5)
system — Executa um programa externo e mostra a saída
system() é igual a versão C desta função no que executa o command indicado e mostra o resultado.
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.
Se você precisa executar um comando e ter todos os dados do comando passados sem nenhuma interferencia, use a função passthru().
O comando que será executado.
Se o argumento return_var é fornecido, então o status de retorno do comando executado será escrito para esta variável.
Retorna a última linha da saída do comando em sucesso, e FALSE em falha.
Exemplo #1 Exemplo da 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;
?>
Quando permitindo dados fornecidos por usuário para ser passado para esta função, use escapeshellarg() ou escapeshellcmd() para se certificar que os usuários não tentarão enganar o sistema com comandos arbitrários.
Nota: Se um programa é iniciado com esta função, e deseja que ele continue rodando em background, a saída do programa precisa se redirecionada para um arquivo ou outro output stream. Se isso não é feito, o que irá ocorrer é que o PHP ficará esperando até que a execução do programa termine.
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.
Com safe mode ativado, a string do comando é escapada com escapeshellcmd(). Então, echo y | echo x vira echo y \| echo x.