Executa um programa externo

exec

(PHP 4, PHP 5)

execExecuta 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 executado, tenha certeza de definir e usar o parâmetro output.

Exemplos

Exemplo #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

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.

Aviso

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

Veja Também




Receba os posts por email: (?)

Conheça o Adianti Framework para PHP:

  • Desenvolvimento com componentes;
  • Formulários e datagrids.
  • Versão Web e Desktop (Gtk);
  • Multiplataforma;
  • Desenhe as interfaces;
  • IDE própria (Adianti Studio).
Ver detalhes...

Tenha mais produtividade com:

Adianti Studio: IDE para PHP

  • Leve e rápido;
  • Syntax highlight;
  • Gerência de projetos;
  • Navegação em banco de dados;
  • Autocomplete e plugins.
Mais informações...