stream_get_line在到达时不读取行

时间:2013-08-07 16:46:24

标签: php curl stream

我正在尝试使用PHP读取流数据。

所以我想阅读并显示从服务器实时发布的每条消息。

我假设$ uri,来自代码剪切的$ context正确定义。

当我使用这段代码时,我得到的唯一结果就是当达到lenght时。它接缝处不会在分隔符“\ 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”,没有任何作用:/。

我需要一些帮助,非常感谢。

编辑:添加上下文

0 个答案:

没有答案