HTML5 - 服务器端事件 - 使用外部文本文件作为数据输入

HTML5 - Server side events - Using external text file as data input

我正在尝试使用纯文本文件 (text.txt) 作为 html5 服务器端事件的一部分。

目前我在浏览器中没有看到任何文本打印输出。如果只是 运行 这一行,不使用外部文件作为输入数据,它可以工作:

echo "data: test\n\n";

问题:假设以下文件的设置,我需要调整什么才能使外部文件数据在浏览器中可见?

我的html文件

  <h1>SSE</h1>
  <div id="result"></div>

  <script>
      // Create an object
      var source = new EventSource("updater.php");
      // Detect message receipt
      source.onmessage = function(event) {
          // Write the received data to the page
          document.getElementById("result").innerHTML += event.data + "<br>";
      };
  </script>

我的php文件

<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');

// Include files
  echo include("text.txt");

flush();
?>

我的文本文件:

"data: t1972\n\n";

问题的解决方案,如果使用下面指定的 [file_get_contents] 则有效。

  $data = file_get_contents('text.txt');
  echo "data: " . $data . "\n\n";

这也意味着文件 [text.txt] 只剩下文本,删除了 [data: ] 和 [\n\n]。