(PHP 4, PHP 5, PHP 7, PHP 8)
passthru — Executa um programa externo e mostra a saída bruta
A função passthru() é similar à função
exec(), e executa um comando especificado em
command
. Esta função
deve ser usada no lugar de exec() ou
system() quando a saída do comando Unix
for dado binário que precisa ser passado diretamente de volta ao
navegador. Um uso como para isto é executar algo como os
utilitários pbmplus que podem enviar um fluxo de imagem diretamente. Através
da configuração de Content-type para image/gif
e
da chamada ao programa pbmplus para saída de um arquivo gif, pode-se criar
scripts PHP que mostram imagens diretamente.
command
O comando que será executado.
result_code
Se o argumento result_code
estiver presente, o
estado de retorno do comando Unix será colocado aqui.
Emitirá um E_WARNING
se passthru()
for incapaz de executar o comando especificado no parâmetro command
.
Lança uma exceção ValueError se command
estiver vazio ou se contiver bytes nulos.
Versão | Descrição |
---|---|
8.0.0 |
Se command estiver vazio ou contiver bytes nulos,
passthru() agora lança uma exceção ValueError.
Anteriormente, emitia um E_WARNING e retornava false .
|
Ao permitir que os dados fornecidos pelo usuário sejam passados para esta função, use escapeshellarg() ou escapeshellcmd() para garantir que os usuários não possam induzir o sistema a executar comandos arbitrários.
Nota:
Se um programa for iniciado com esta função, para que continue rodando em segundo plano, a saída do programa deve ser redirecionada para um arquivo ou outro fluxo de saída. Deixar de fazer isso fará com que o PHP trave até que a execução do programa termine.