如何使用" stream_get_line"多次?

时间:2012-11-16 09:56:04

标签: php

我想使用我的脚本输出和stream_get_line php函数声明多个变量。

示例:

<?php

$fp = fsockopen("10.73.xxx.xxx", "23");

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

$content = stream_get_line($fp, 100, "user");
$content2 = stream_get_line($fp, 100, "password");


echo $content;
echo $content2;
?>

但是,在我使用stream_get_line一次后,脚本停止工作。如何多次使用它来获取多行输出?如果我删除第二个stream_get_line函数,它可以正常工作。

2 个答案:

答案 0 :(得分:0)

这样:

$fp = fsockopen("10.73.xxx.xxx", "23");

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

while(!feof($fp)) {
    $content = stream_get_line($fp, 100, "\n");
    echo $content;
}

答案 1 :(得分:0)

我最终使用了以下代码:

$fp = fsockopen("10.73.xxx.xxx", "23");

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

while(!feof($fp)) {
    $content = stream_get_line($fp, 100, "user");
    $content1 = substr($content, 10, 4);
    $content2 = substr($content, 15, 8);
}

我将整个事物存储在变量“content”中,然后构建2个额外的变量“content1”和“content2”,在那里我从变量“content”中提取所需的输出。