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 ativo, todas as palavras seguintes ao comando inicial são tratadas com um único argumento. Assim echo y | echo x se torna echo "y | echo x".

Veja também exec(), system(), popen(), escapeshellcmd(), e o operador backtick.