(PHP 4, PHP 5, PHP 7)
passthru — Executa um programa externo e mostra a saída crúa
$command
[, int &$return_var
] )
A função passthru() é similar a a função
exec() no que ela executa um
command
. 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.
command
O comando que será executado.
return_var
Se o argumento return_var
esta presente, o
status de retorno do comando Unix será colocado aqui.
Não há valor retornado.
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 ser 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 safe mode está ativo, você só pode executar arquivos dentro dosafe_mode_exec_dir. Por razões praticas não é permitido ter componentes .. no caminho do executável.
Com o safe mode ativo o comando string é escapado com escapeshellcmd(). Assim echo y | echo x se torna echo y \| echo x.