expect_popen()

读取和写入输出/输入流的资源句柄

首字母:E

函数名:expect_popen() 适用版本:PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8

函数说明:expect_popen() 函数使用了 expect 扩展库来执行命令,并返回一个能够用于读取和写入输出/输入流的资源句柄。

用法:

resource expect_popen ( string $command )

参数:

  • command:要执行的命令及其参数,类似于在命令行中输入的命令。

返回值: 如果成功执行命令,函数将返回一个能够读取和写入输出/输入流的资源句柄,如果发生错误,将返回 false。

示例:

$stream = expect_popen('ssh user@remote_host');
if ($stream !== false) {
 // 向远程主机发送命令
 fwrite($stream, "ls -la\n");
 // 读取远程主机的输出
 $output = '';
 while (($line = fread($stream, 4096)) !== false) {
 $output .= $line;
 }
 echo $output;
 // 关闭资源句柄
 fclose($stream);
} else {
 echo "执行命令失败";
}

上述示例首先调用 expect_popen() 打开了一个 ssh 连接,并获取了一个用于读写输出/输入流的资源句柄。然后,通过 fwrite() 向远程主机发送一个命令。接着使用 fread() 从输出流中读取输出,并将其存储在变量 $output 中。最后,关闭资源句柄并输出结果。如果 expect_popen() 执行失败,则会输出错误信息。请注意,这个示例是一个简单的展示,实际应用时可能需要更多的错误处理和安全措施。

同首字母函数