(PHP 4, PHP 5)
popen — Отваря файлов манипулатор към процес
Отваря тръба (pipe) към процес изпълнен чрез разклоняване вследствие на изпълнение на командата подадена чрез command
Команда.
Режим.
Връща файлов указател пододен на този връщан от fopen(), като разликата е, че е еднопосочен (т.е. или е само за запис или само за четене) и трябва да бъде затворен с pclose(). Указателя може да бъде използван от fgets(), fgetss(), и fwrite().
Ако се получи грешка при отварянето - връща FALSE.
Example #1 popen() пример
<?php
$handle = popen("/bin/ls", "r");
?>
Ако командата command не може да бъде намерена се връща валиден ресурс. Това може да изглежда странно, но има смисъл - позволява ви да имате достъп до съобщението за грешка от обвивката (shell):
Example #2 popen() example
<?php
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);
?>
Забележка: Ако имате нужда от поддръжка на двупосочна комуникация - използвайтеproc_open().
Забележка: Когато е включен защитен режим , можете да стартирате изпълними файлове единствено в safe_mode_exec_dir. От практична гледна точка, в момента не е позволено да има .. компоненти в пътя до изпълнимия файл.
Когато е включен защитен режим, низът на командата се екранира посредством escapeshellcmd(). По този начин echo y | echo x става echo "y | echo x".