そのため、サードパーティから投稿された新しいデータをランダムに受け取る PHP ファイルがあります。簡単にするために、それを呼び出してget_data.php
、次のように見えるとしましょう。
<?php
$data = $_REQUEST;
// Data processing
そして、stream.php
HTML5 Server-Sent Eventsを使用してデータを (JS) クライアントにストリーミングする別のスクリプト があります。
<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');
while (true) {
echo 'data: ' . $data . PHP_EOL;
echo PHP_EOL;
ob_flush();
flush();
sleep(1);
}
各スクリプト自体は正常に機能しています。ただし、$data
最初のスクリプトから 2 番目のスクリプトに渡す必要があります。
変数をDBまたは一時ファイルに保存することでこれを達成できることはわかっていますが、理想的にはPHPだけでこれを行うことができます。
あるファイルを別のファイルに含めることは、ストリーム ヘッダーがサードパーティによるデータの投稿で混乱する可能性が高いため、適切なオプションとは思えません。後者はクラッシュします。
注$_SESSION
- これは、Web ページ上の PHP スクリプト間でデータを渡す方法を尋ねる他の質問と重複していません。イベント ストリームにアクセスしているユーザーとは異なるサードパーティによってデータが投稿されているため、変数を使用できないように見えるためです。