passthru
(PHP 4, PHP 5, PHP 7, PHP 8)
passthru — Executa um programa externo e mostra a saída bruta
Descrição
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.
Parâmetros
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.
Erros/Exceções
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.
Registro de Alterações
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 .
|
Notas
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.
Note:
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.
Veja Também
- exec() - Executa um programa externo
- system() - Executa um programa externo e mostra a saída
- popen() - Abre um processo como ponteiro de arquivo
- escapeshellcmd() - Escapa meta-caracteres shell
- Operador crase