fsockopen 経由で telnet セッションを実行しているときに、stream_get_lineを使用して一部の PHP 出力を変数に格納しています。
ただし、私の 2 番目のサーバーは PHP5 を実行していないため、stream_get_lineを使用する機能が無効になっています。PHP 4.3 に代わるものはありますか?
fgetsもほぼ同じだと聞きましたが、 stream_get_lineとまったく同じようには動作しないようです。
コード:
...
# opening connection
$fp = @fsockopen($ip, 23, $errno, $errstr, 8);
# loggin in
fputs($fp, "$user\r");
usleep(250000);
fputs($fp, "$password\r");
# getting information
fputs($fp, "show info\n");
usleep(250000);
fputs($fp, "show info 2\n");
usleep(250000);
fputs($fp, "show info 3\n");
usleep(250000);
fputs($fp, "show info 4\n");
usleep(250000);
fputs($fp, "?\n");
$content = stream_get_line($fp, 0, "?");
$contentvalues = array(
1 => substr($content, 130, 3),
2 => substr($content, 180, 3)
);
fclose($fp);
...
(出力の特定の部分を $contentvalues 変数に保存しています。)