exec() executa o command dado, em todo o caso ele não mostra nada. Ele simplesmente retorna a última linha do resultado do comando. Se você precisar executar o comando e ter todos os dados do comando passado diretamente de volta sem interferencia, use a função passthru().
Se o argumento output estiver presente, então a matriz especificada será prenchida com cada linha da saída do comando. Finais de linha, como \n, não são incluídos nesta matriz. Note que se a matriz já contiver alguns elementos, exec() irá adicionar ao final da matriz. Se você não quiser que a função adicione elementos, use unset() antes de passar ela para exec().
Se o argumento return_var esta presente junto com o argumento output, então o status de retorno do comando executado será escrito nesta variável.
Atenção |
Se você vai permitir que dados vindos dos usuários sejam passados para esta função, então você deve usar escapeshellarg() ou escapeshellcmd() para ter certeza que os usuários não possam enganar o sistema usando comandos arbritários. |
Nota: Se você começar um programa usando esta função e quer deixar que ele seja executado em segundo plano, você deve ter certeza que a saída deste programa é redirecionado para um arquivo ou outra saída se não o PHP irá esperar até terminar a execução do programa.
Veja também system(), passthru(), popen(), escapeshellcmd(), e backtick operator.