3 回答

TA貢獻1886條經驗 獲得超2個贊
PHP 中的 popen() 函數
popen() 函數打開進程文件指針。
popen(command,mode)
參數說明
command 必需。規定要執行的命令。
mode 必需。規定連接模式。 可能的值:
r: 只讀。
w: 只寫 (打開并清空已有文件或創建一個新文件)
打開一個指向進程的管道,該進程由派生指定的 command 命令執行而產生。
返回一個和 fopen() 所返回的相同的文件指針,只不過它是單向的(只能用于讀或寫)并且必須用 pclose() 來關閉。此指針可以用于 fgets(),fgetss() 和 fwrite()。
若出錯,則返回 false。
例如:
<?php
$file = popen("/bin/ls","r");
//一些要執行的代碼
pclose($file);
?>

TA貢獻1943條經驗 獲得超7個贊
1、執行外部程序。語法: string exec(string command, string [array], int [return_var]);返回值: 字符串函數種類: 操作系統與環境內容說明本函數執行輸入 command 的外部程序或外部指令。它的返回字符串只是外部程序執行后返回的最后一行;若需要完整的返回字符串,可以使用 PassThru() 這個函數。要是參數 array 存在,command 會將 array 加到參數中執行,若不欲 array 被處理,可以在執行 exec() 之前呼叫 unset()。若是 return_var 跟 array 二個參數都存在,則執行 command 之后的狀態會填入 return_var 中。值的注意的是若需要處理使用者輸入的資料,而又要防止使用者?;ㄕ衅平庀到y,則可以使用 EscapeShellCmd()。相關函數:system() PassThru() popen() EscapeShellCmd()

TA貢獻1827條經驗 獲得超8個贊
proc_open 用這個也可,
<?php
$handle = popen("tail -f /etc/httpd/logs/access.log 2>&1", 'r');
while(!feof($handle)) {
$buffer = fgets($handle);
echo "$buffer<br/>\n";
ob_flush();
flush();
}
pclose($handle);
?>
- 3 回答
- 0 關注
- 253 瀏覽
添加回答
舉報