popen

(PHP 3, PHP 4 , PHP 5)

popen -- Otvorí procesový deskriptor súboru

Popis

resource popen ( string príkaz, string mód)

Otvorí rúru (pipe) k procesu spustenému pomocou operácie fork na príkaz zadaný v parametri príkaz.

Vráti deskriptor súboru, ktorý je podobný deskriptoru vracanému funkciou fopen(). Tento deskriptor je však len jednosmerný (môže byť používaný buď na čítanie alebo na zápis) a musí byť uzatváraný pomocou pclose(). Tento deskriptor môže byť používaný vo funkciách fgets(), fgetss() and fputs().

V prípade výskytu chyby bude vrátený FALSE.

Poznámka: Ak hľadáte podporu pre prácu v oboch smeroch (čítanie aj zápis), použite proc_open().

Príklad 1. popen() examole

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

Poznámka: Ak príkaz, ktorý má byť vykonaný, nebol nájdený, bude vrátená premenná reprezentujúca platný typ resource. Toto správanie môže byť na prvý pohľad zvláštne, ale má svoj význam - umožňuje mať prístup k prípadným chybovým hláseniam, ktoré boli vrátené shellom.

<?php
error_reporting
(E_ALL);

/* zaveďme presmerovanie, aby sme mali prístup k stderr. */
$handle = popen('/path/to/spooge 2>&1', 'r');
echo
"'$handle'; " . gettype($handle) . "\n";
$read = fread($handle, 2096);
echo
$read;
pclose($handle);
?>

Pozri tiež pclose(), fopen() a proc_open().