exec
(PHP 4, PHP 5)
exec — Executa um programa externo
Descrição
exec() executa o command dado.
Parâmetros
- command
-
O comando que será executado.
- output
-
Se o argumento output estiver presente, então a matriz especificada será prenchida com cada linha da saÃda do comando. Espaços ao final, 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().
- return_var
-
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.
Valor Retornado
A ultima linha do resultado do comando. Se você precisa executar um comando e ter todos os dados passados diretamente de volta sem qualquer interferência, use a função passthru().
Para pegar a saÃda do comando execuatdo, tenha certesa de definir e usar o parâmetro output .
Exemplos
Example#1 Um exemplo exec()
<?php
// Mostra o nome de quem é o dono do processo php/httpd
// (em um sistema com o executável "whoami" no path)
echo exec('whoami');
?>
Notas
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.
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.