Новости | Документация | Download | Webboard | FAQ | Поиск | Контакты


popen

(PHP 4, PHP 5)

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

Описание

resource popen ( string $command , string $mode )

Открывает поток к процессу, выполняемую при помощи форкинга (forking) команды, заданной в command.

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

В случае возникновения ошибки, возвращает FALSE.

Замечание: Если вы ищите двустороннюю связь, используйте proc_open().

Пример #1 Пример использования функции popen()

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

Если команда для выполнения не может быть найдена, будет возвращён действующий ресурс. Это может выглядить странно, но имеет смысл; это даёт вам возможность получить доступ к любому сообщению об ошибке, которое вернёт оболочка:

<?php
error_reporting
(E_ALL);

/* Добавляем перенаправление чтобы прочитать stderr. */
$handle popen('/path/to/spooge 2>&1''r');
echo 
"'$handle'; " gettype($handle) . "\n";
$read fread($handle2096);
echo 
$read;
pclose($handle);
?>

Замечание: В случае работы в безопасном режиме, вы можете запускать что-либо только в пределах safe_mode_exec_dir. В настоящее время, использование .. в пути запрещено

Внимание

В случае работы в безопасном режиме, все слова, следующие за начальной командой, рассматриваются как единый аргумент. То есть echo y | echo x будет работать как echo "y | echo x".

См. также описание функций pclose(), fopen() и proc_open().






  Copyright Apache.ru © 1999-2017, All Rights Reserved Разработка сайта: Inside.ru  
  РЕКЛАМА НА САЙТЕ: |