Функции Язык программирования PHP

popen

(PHP 3, PHP 4)

popen - открывает файловый указатель процесса.

Описание

int popen (string command, string mode)

Открывает канал к процессу, выполняемому путём разветвления команды, заданной параметром command.

Возвращает файловый указатель, идентичный указателю, возвращаемому функцией fopen(), за исключением того, что он однонаправленный (может использоваться только для чтения или только для записи) и обязан быть закрыт функцией pclose(). Этот указатель может использоваться с fgets(), fgetss() и fputs().

Если возникает ошибка, возвращает FALSE.

$fp = popen ("/bin/ls", "r");

Примечание: если выполняемая команда не может быть найдена, возвращается правильный ресурс. Это может показаться лишним, однако имеет смысл, так как позволяет получить доступ к любому сообщению об ошибке, возвращаемому оболочкой:
<?php error_reporting(E_ALL); 
/* Добавляет перенаправление, так что мы может получить stderr. */ $fp = popen('/path/to/spooge 
2>&1', 'r'); echo "'$fp'; " . gettype($fp) . "\n"; $read = fread($fp, 
2096); echo $read; pclose($fp); ?>

См. также pclose().


Назад Оглавление Вперёд
pclose Вверх readfile

Модификаторы патэрна

 
e

Если этот модификатор установлен, preg_replace() выполняет нормальную замену обратных ссылок в замещающей строке, вычисляет её как код PHP и использует результат для замещения строки поиска.

Этот модификатор используется только в preg_replace(); он игнорируется другими PCRE-функциями.

A (PCRE_ANCHORED)

Если этот модификатор установлен, патэрн форсированно "заякоривается/anchored", то есть, он ограничивается совпадением только в начале строки для поиска ("строки-субъекта"). Этого же эффекта можно добиться также применением соответствующих конструкций в самом патэрне, что является единственно возможным способом в Perl.

D (PCRE_DOLLAR_ENDONLY)

Если этот модификатор установлен, метасимвол dollar в патэрне совпадает только в конце строки-субъекта. Без этого модификатора dollar совпадает также непосредственно перед последним символом, если это newline (но не перед любыми другими newline). Этот модификатор игнорируется, если установлен модификатор m. Это не эквивалент аналогичного модификатора в Perl.