Funções para Sistema de arquivo
PHP Manual

popen

(PHP 4, PHP 5, PHP 7)

popenAbre um processo como ponteiro de arquivo

Descrição

resource popen ( string $command , string $mode )

Abre uma pipe para um processo executado ao se dar um fork para o comando dado por command.

Parâmetros

command

O comando

mode

O modo

Valor Retornado

Retorna um ponteiro de arquivo idêntico ao retornado por fopen(), exceto que ele é unidirecional (pode ser usado somente para leitura ou gravação) e tem que ser fechado com pclose(). Este ponteiro pode ser usado com fgets(), fgetss() e fwrite(). Quando o modo é 'r', o ponteiro de arquivo retornado é igual ao STDOUT do comando; quando o modo é 'w', o ponteiro de arquivo é igual ao STDIN do comando.

Se um erro ocorrer, retorna FALSE.

Exemplos

Exemplo #1 Exemplo da popen()

<?php
$handle 
popen("/bin/ls""r");
?>

Se o comando a ser executado não for encontrado, um resource válido é retornado. Isso pode parecer estranho, mas tem sentido: permite que você acesse qualquer mensagem de erro retornado pelo sistema operacional.

Exemplo #2 Exemplo da popen()

<?php
error_reporting
(E_ALL);

/* Add redirection so we can get stderr. */
$handle popen('/path/to/executable 2>&1''r');
echo 
"'$handle'; " gettype($handle) . "\n";
$read fread($handle2096);
echo 
$read;
pclose($handle);
?>

Notas

Nota:

Se você precisa de suporte bidirecional (dois caminhos), use proc_open().

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.

Aviso

Com o safe mode ativo o comando string é escapado com escapeshellcmd(). Assim echo y | echo x se torna echo y \| echo x.

Veja Também


Funções para Sistema de arquivo
PHP Manual