popen()函數用於打開到用戶使用命令參數指定的程序的管道。它返回的文件指針與fopen()返回的文件指針相同,但是本質上是單向的,即隻能用於讀取或寫入。 popen()指針可與fgets(),fgetss()和fwrite()一起使用。由popen()函數啟動的文件指針必須用pclose()關閉。該命令和模式將作為參數發送到popen()函數,並且在成功時返回單向文件指針,在失敗時返回FALSE。
用法:
popen(command, mode)
使用的參數:
PHP中的popen()函數接受兩個參數。
- command:它是必填參數,用於指定要執行的命令。
- mode:它是一個必需參數,用於指定連接模式,例如readonly(r)或writeonly(w)。
返回值:
它返回的文件指針與fopen()返回的文件指針相同,但是本質上是單向的。
錯誤和異常:
- 由popen()函數啟動的文件指針必須用pclose()關閉。
- 如果找不到要執行的命令,則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
參考:
http://php.net/manual/en/function.popen.php
相關用法
- PHP each()用法及代碼示例
- d3.js d3.set.has()用法及代碼示例
- PHP pi( )用法及代碼示例
- PHP Ds\Map last()用法及代碼示例
- PHP max( )用法及代碼示例
- d3.js d3.min()用法及代碼示例
- PHP exp()用法及代碼示例
- PHP Ds\Map get()用法及代碼示例
- p5.js day()用法及代碼示例
- p5.js sin()用法及代碼示例
- p5.js pow()用法及代碼示例
- p5.js nfs()用法及代碼示例
注:本文由純淨天空篩選整理自Shubrodeep Banerjee大神的英文原創作品 PHP | popen() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。