Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
popen
(PHP 3, PHP 4, PHP 5)
popen - Открывает файловый указатель процесса
Описание
resource popen ( string command, string mode )Открывает поток к процессу, выполняемую при помощи форкинга (forking) команды, заданной в command.
Возвращает файловый указатель, идентичный возвращаемому функцией fopen(), за исключением того, что он односторонний (может быть использован только для чтения или записи) и должен быть закрыт при помощи pclose(). Этот указатель может быть использован с fgets(), fgetss() и fwrite().
В случае возникновения ошибки, возвращает FALSE.
Замечание: Если вы ищите двустороннюю связь, используйте proc_open().
Пример 1. Пример использования функции popen()
$handle = popen("/bin/ls", "r");
Если команда для выполнения не может быть найдена, будет возвращён действующий ресурс. Это может выглядить странно, но имеет смысл; это даёт вам возможность получить доступ к любому сообщению об ошибке, которое вернёт оболочка:
error_reporting(E_ALL);
/* Добавляем перенаправление чтобы прочитать stderr. */
$handle = popen('/path/to/spooge 2>&1', 'r');
echo "'$handle'; " . gettype($handle) . "\n";
$read = fread($handle, 2096);
echo $read;
pclose($handle);
ВниманиеЗамечание: В случае работы в безопасном режиме, вы можете запускать что-либо только в пределах safe_mode_exec_dir. В настоящее время, использование .. в пути запрещено
В случае работы в безопасном режиме, все слова, следующие за начальной командой, рассматриваются как единый аргумент. То есть echo y | echo x будет работать как echo "y | echo x".
Смотрите также описание функций pclose(), fopen() и proc_open().
Все функции файлОписание на ru2.php.net
Описание на php.ru