popen

(PHP 3, PHP 4 )

popen -- Abre um processo como ponteiro de arquivo

Descrição

int 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 identico 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().

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

Nota: Se o commando a ser executado não for encontradom 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. */
$fp = popen('/path/to/spooge 2>&1', 'r');
echo "'$fp'; " . gettype($fp) . "\n";
$read = fread($fp, 2096);
echo $read;
pclose($fp);
?>

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