(PHP 4, PHP 5)
system — Executa um programa externo e mostra a saída
$command
[, int &$return_var
] )
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().
command
O comando que será executado.
return_var
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 ser 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: When safe mode is enabled, you can only execute files within the safe_mode_exec_dir. For practical reasons, it is currently not allowed to have .. components in the path to the executable.
With safe mode enabled, the command string is escaped with escapeshellcmd(). Thus, echo y | echo x becomes echo y \| echo x.