Manual do PHP
Anterior |  | Próxima

# passthru

(PHP 3, PHP 4, PHP 5)

passthru -- Executa um programa externo e mostra a saída crúa

## Descrição

void passthru ( string command [, int return_var] )

A função passthru() é similar a a função exec() no que ela executa um `command`. Se o argumento `return_var` estiver presente, o código de retorno de status do comando Unix será colocado aqui. Esta função deve ser usada no lugar de exec() ou system() quando a saída do comando Unix é dados binários que precisam ser passados diretamente de volta para o browser. Um uso comum para isso é para executar algo como pbmplus que podem enviar um stream com uma imagem diretamente. Definindo o Content-type para image/gif e então chamando o programa para mostrar um gif, você pode criar scripts PHP que mostram imagens diretamente.

Atenção
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.

Atenção
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 exec(), system(), popen(), escapeshellcmd(), e o operador backtick.

Anterior | Principal | Próxima
exec | Acima | proc_close