打開程序檔案指針

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($handle2096);
echo 
$read;
pclose($handle);
?>

註釋

注意:

如果需要雙向支援,使用 proc_open()

參見

  • pclose() - 關閉程序檔案指針
  • fopen() - 打開檔案或者 URL
  • proc_open() - 執行一個命令,並且打開用來輸入/輸出的檔案指針。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *