Forum und email

popen

(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.

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

Example#1 popen() examole

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

Note: 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($handle2096);
echo 
$read;
pclose($handle);
?>

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