popen

(PHP 3, PHP 4 , PHP 5)

popen -- Abre 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.

Retorna um ponteiro de arquivo idêntico ao retornado por fopen(), exceto que ele é unidirecional (somente pode ser usado para leitura ou gravação) e tem que ser fechado com pclose. Este ponteiro pode ser usado com fgets(), fgetss() e fputs().

Caso um erro ocorra retorna FALSE.

Nota: Se você está procurando por suporte bidirecional (via dupla), utilize proc_open().

Exemplo 1. Exemplo de popen()

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

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

<?php
error_reporting
(E_ALL);

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

Veja também pclose(), fopen() e proc_open().