(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 stream de saída. Deixar de fazer isso fará com que o PHP trave até que a execução do programa termine.