首页 > 解决方案 > 用 PHP 读取流文件?

问题描述

我想用 PHP 读取一个流文件(如果可能的话),它不断被扩展。该文件是一个 .json,其中以不规则的间隔添加新行。

目前我已经尝试了以下方法:

<?php
$handle = fopen ("https://domain.de/stream.json", "r");
while ( $inhalt = fgets ($handle, 4096 ))
{
  echo "<li> $inhalt ";
}
 
fclose($handle);
?>

基本思想有效,但前提是添加了新行。例如,如果 20 秒内没有添加新行,则到达循环的末尾并自动结束循环。

我怎样才能意识到循环没有终止而是等待新行?这甚至可以单独使用 PHP 还是我必须使用 cURL 或类似的?

我将非常感谢您的帮助以及它如何工作的示例。

提前致以诚挚的问候和感谢

标签: phpcurl

解决方案


<?php
$handle = fopen ("https://domain.de/stream.json", "r");
while ( TRUE )
{
  $inhalt = fgets ($handle, 4096 );
  if($inhalt === FALSE) {
    continue;
  }
  echo "<li> $inhalt ";
}
 
fclose($handle);
?>

当你没有得到字节时,不要退出,而是无限运行并在每次没有数据时忽略。


推荐阅读