用PHP读取流文件?

用PHP读取流文件?,php,curl,Php,Curl,我想用PHP读取一个流文件(如果可能的话),这个文件一直在扩展。该文件是一个.json文件,其中以不规则的间隔添加新行 目前,我尝试了以下方法: <?php $handle = fopen ("https://domain.de/stream.json", "r"); while ( $inhalt = fgets ($handle, 4096 )) { echo "<li> $inhalt "; } fclo

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

目前,我尝试了以下方法:

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

基本的想法是可行的,但前提是添加了新的行。例如,如果在20秒钟内没有添加新行,则到达循环结束,循环自动结束

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

我将非常感谢您的帮助,并举例说明它是如何工作的

提前致以亲切的问候和感谢


与其在没有字节时退出,不如无限期运行,每次没有数据时忽略它。



如果你没有得到字节,就不要退出,而是无限期地运行,每次没有数据时都忽略它。

我假设JSON文件也是以流的形式发送的,你不只是试图编辑当前发送的文件吗?对。JSON以流的形式发送。如果在http请求之前运行
set\u time\u limit(0)
,它会改变什么吗?(如果有,我会把它写下来作为一个答案,这样人们就可以找到它)不幸的是,没有。在我看来,问题是while循环一旦到达终点就终止了。因此,它将永久加载页面。一旦到达终点,循环将终止,很遗憾,未来的条目将不再显示。好的,我知道问题所在,我将尝试找出解决方法。我假设JSON文件也是以流的形式发送的,您不仅仅是试图编辑当前发送的文件?对。JSON以流的形式发送。如果在http请求之前运行
set\u time\u limit(0)
,它会改变什么吗?(如果有,我会把它写下来作为一个答案,这样人们就可以找到它)不幸的是,没有。在我看来,问题是while循环一旦到达终点就终止了。因此,它将永久加载页面。一旦到达终点,循环将终止,很遗憾,未来的条目将不再显示。好的,我知道问题是什么,我将尝试找出一个解决方案。不幸的是,它没有按预期工作。现在页面将永久加载而不显示任何内容。我也有点惊讶,页面永久加载,看起来不健康。一位熟人告诉我,我宁愿用卷发来做,但不幸的是,我对此一无所知。不幸的是,它并没有像人们所希望的那样工作。现在页面将永久加载而不显示任何内容。我也有点惊讶,页面永久加载,看起来不健康。一位熟人告诉我,我宁愿用卷发来做,但不幸的是,我对此一无所知。