查询

expect://()函数—用法及示例

「 可以产生连接到远程主机的网络流 」


函数名称: expect://()

适用版本: PHP 5, PHP 7

函数描述: expect:// 包装器是一个可以将 expect 库中的函数包装成 PHP 扩展的网络函数。使用它,可以在 PHP 环境中执行与 expect 库相应的功能,通过此函数可以产生连接到远程主机的网络流。

用法:

resource expect_popen ( string $command )

参数:

  • command: 执行的命令字符串。

返回值: 成功时将返回包装后的资源流,失败时返回 false。

示例:

$stream = expect_popen("ssh user@example.com");
if ($stream === false) {
    die("无法打开流!");
}
// 向远程主机发送命令并获取返回结果
fwrite($stream, "ls -l\n");
expect_expectl($stream, array(
    array("file or directory", function($stream, $match) {
        echo "远程主机文件目录: " . trim($match[0]) . "\n";
    }),
    array(">", function($stream, $match) {
        echo "命令执行完成!";
    })
));
// 关闭流
fclose($stream);

上述示例中,使用 expect_popen() 函数通过 SSH 连接到远程主机,并将命令 ls -l 发送至远程主机。之后,通过 expect_expectl() 函数获取远程主机的返回结果,并根据匹配的条件进行相应的处理。最后,关闭了流。

请注意,expect://() 函数需要 PHP 安装 expect 扩展库,并且相关的底层 expect 库也需要在系统中安装并可用。

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