使用 fsockopen 时将 php 输出保存到变量中

Posted

技术标签:

【中文标题】使用 fsockopen 时将 php 输出保存到变量中【英文标题】:Save php output into variable when using fsockopen 【发布时间】:2012-11-04 05:40:41 【问题描述】:

我正在尝试构建一个 php 脚本,它连接到 telnet 服务器并运行一些命令。

我想将返回的命令输出保存到变量中。

示例: 指挥部:给我一个号码! 服务器返回一个数字.. 假设它是 100。 我想将数字 100 保存为变量。

这是我的源代码:

<?php  
# connecting
$fp=fsockopen("10.73.xxx.xxx",23);

# login
fputs($fp,"\r");
sleep(1);
fputs($fp,"user\r");
sleep(1);
fputs($fp,"password\r");

# commands
fputs($fp,"give me a number!\n");  //this returns the number I would like to save as variable

sleep(1);

fclose($fp);
?>

【问题讨论】:

【参考方案1】:

你可能想要stream_get_line

$theData = stream_get_line($fp, 1024, "\n");
// 1024 = The maximum number of bytes to read from the handle.
// \n = string delimiter.

【讨论】:

以上是关于使用 fsockopen 时将 php 输出保存到变量中的主要内容,如果未能解决你的问题,请参考以下文章

使用 Python 在运行时将 selenium 结果/输出保存在文本文件中

如何使用 PHP 和 fsockopen 检查 UDP 地址是不是存在?

fsockopen():php_network_getaddresses:getaddrinfo失败:名称或服务未知

PHP fsockopen() 失败,但 telnet 工作

服务器如何开启php的fsockopen函数? 使用发邮箱类

PHP fsockopen模拟POST/GET方法