我正在尝试使用 PHP 读取流数据。
所以我想实时阅读并显示从服务器发布的每条消息。
我假设代码中的 $uri, $context 是正确定义的。
当我使用此代码时,我得到的唯一结果是达到长度。它接缝它不会在分隔符“\r”字符串上停止。
DEFINE('TOKEN', "MY_TOKEN");
$opts = array(
'http' => array(
'method' => "GET",
'header'=> "Authorization: Basic " . base64_encode(TOKEN)));
$context = stream_context_create($opts);
if (($fp = fopen($uri, "r", false, $context))) {
while (!feof($fp)) {
$contents = stream_get_line($fp, 1024, "\r");
echo "text: " . $contents . "\n";
}
fclose($fp);
当达到长度时,它会正确显示所有发布的新消息。在每条消息之前使用字符串“text:”。
我该怎么做才能逐条打印一条消息?
PS:我尝试使用“\r”、“\n”、“\n\r”或“\r\n”,没有任何效果:/。
我需要一些帮助,非常感谢。
编辑:添加上下文