當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


PHP popen( )用法及代碼示例

popen()函數用於打開到用戶使用命令參數指定的程序的管道。它返回的文件指針與fopen()返回的文件指針相同,但是本質上是單向的,即隻能用於讀取或寫入。 popen()指針可與fgets(),fgetss()和fwrite()一起使用。由popen()函數啟動的文件指針必須用pclose()關閉。該命令和模式將作為參數發送到popen()函數,並且在成功時返回單向文件指針,在失敗時返回FALSE。

用法:

popen(command, mode)

使用的參數:
PHP中的popen()函數接受兩個參數。


  1. command:它是必填參數,用於指定要執行的命令。
  2. mode:它是一個必需參數,用於指定連接模式,例如readonly(r)或writeonly(w)。

返回值:
它返回的文件指針與fopen()返回的文件指針相同,但是本質上是單向的。

錯誤和異常:

  1. 由popen()函數啟動的文件指針必須用pclose()關閉。
  2. 如果找不到要執行的命令,則popen()函數將返回有效資源。

例子:

Input:$my_file= popen("/bin/ls", "r");
Output:1

Input:$my_file= popen('/executable/gfg.exe', 'r');
        echo "'my_file'; " . get_class($my_handle) . "\n";
        $file_read = fread($my_file, 4192);
        echo $file_read;
        pclose($my_file);
Output:1

以下示例程序旨在說明popen()函數。

程序1:

<?php 
  
// opening a pipe  
$my_file= popen("/bin/ls", "r"); 
?>

輸出:

1

程序2:

<?php  
// opening a pipe 
$my_file= popen('/executable/gfg.exe', 'r'); 
  
// returning name of class of an object using get_class() 
  echo "'$my_file'; " . get_class($my_file) . "\n"; 
  
// reading file using fread() 
$filereader = fread($my_file, 4192); 
   echo $filereader; 
  
// closing the pipe 
pclose($my_file); 
?>

輸出:

1

相關文章:PHP - pclose( )用法及代碼示例

參考:
http://php.net/manual/en/function.popen.php



相關用法


注:本文由純淨天空篩選整理自Shubrodeep Banerjee大神的英文原創作品 PHP | popen() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。