popen
(PHP 4, PHP 5, PHP 7, PHP 8)
popen — 打開程序檔案指針
說明
popen(string
$command
, string $mode
): resource打開一個指向程序的管道,該程序由派生給定的 command 命令執行而產生。
參數
-
command
-
命令。
-
mode
-
模式。
返回值
返回一個和 fopen() 所返回的相同的檔案指針,只不過它是單向的(只能用於讀或寫)並且必須用 pclose() 來關閉。此指針可以用於 fgets(),fgetss() 和 fwrite()。 當模式為 'r',返回的檔案指針等於命令的 STDOUT,當模式為 'w',返回的檔案指針等於命令的 STDIN。
如果出錯返回 false
。
範例
示例 #1 popen() 例子
<?php
$handle = popen("/bin/ls", "r");
?>
如果未找到要執行的命令,會返回一個合法的資源。這看上去很怪,但有道理。它允許訪問 shell 返回的任何錯誤資訊:
示例 #2 popen() 例子
<?php
error_reporting(E_ALL);
/* 加入重定向以得到標準錯誤輸出 stderr。 */
$handle = popen('/path/to/executable 2>&1', 'r');
echo "'$handle'; " . gettype($handle) . "\n";
$read = fread($handle, 2096);
echo $read;
pclose($handle);
?>
註釋
注意:
如果需要雙向支援,使用 proc_open()。