Forum und email

exec

(PHP 4, PHP 5)

exec — Executa um programa externo

Descrição

string exec ( string $command [, array &$output [, int &$return_var ]] )

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

Aviso

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.

Aviso

Com safe mode ativado, a string do comando é escapada com escapeshellcmd(). Então, echo y | echo x vira echo y \| echo x.