Работа с потоками данных может быть сложной задачей, особенно если вы хотите обработать каждый отдельный ответ независимо. Тут без фреймворка или какой-то спец библиотеки будет тяжело.
Но, я бы на основе этих данных вот так сделала, а вдруг прокатит?)))
<?php
$url = 'http://my-ip/cgi-bin/eventManager.cgi?action=attach&codes=[All]&heartbeat=5';
$context = stream_context_create([
'http' => [
'method' => 'GET',
'header' => 'Connection: close\r\n'
]
]);
$resource = fopen($url, 'r', false, $context);
while (!feof($resource)) {
$line = fgets($resource);
if (strpos($line, '--myboundary') !== false) {
// Начало нового ответа
$response = '';
while (!feof($resource)) {
$line = fgets($resource);
if (strpos($line, '--myboundary') !== false) {
// Конец ответа
break;
}
$response .= $line;
}
// Обработка ответа
echo $response;
}
}
fclose($resource);
?>