查询

expect_popen()函数—用法及示例

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


函数名: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() 执行失败,则会输出错误信息。请注意,这个示例是一个简单的展示,实际应用时可能需要更多的错误处理和安全措施。

补充纠错
上一个函数: expect_expectl()函数
下一个函数: explode()函数
热门PHP函数
分享链接