php - 用 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 或类似的?
我将非常感谢您的帮助以及它如何工作的示例。
提前致以诚挚的问候和感谢
解决方案
<?php
$handle = fopen ("https://domain.de/stream.json", "r");
while ( TRUE )
{
$inhalt = fgets ($handle, 4096 );
if($inhalt === FALSE) {
continue;
}
echo "<li> $inhalt ";
}
fclose($handle);
?>
当你没有得到字节时,不要退出,而是无限运行并在每次没有数据时忽略。
推荐阅读
- javascript - 将箭头函数映射到映射中(映射不是函数)
- c# - WebAPI 切换数据库集合
- azure - azure function 和 azure static web app 之间的区别?这个怎么运作?
- python - 使用 ctypes 将 cupy 指针传递给 CUDA 内核
- gitlab - GitLab 多项目 CI 设置
- android - Kotlin 委托属性导致 Android Studio 中出现预览渲染错误
- javascript - 反应登录和注册表单蚂蚁设计onFinish未触发
- php - Symfony 4 + Postgresql:服务器仍然尝试连接到“localhost”数据库,即使我更改了学说.yaml 和 .env 中的值
- google-sheets - 计算谷歌电子表格中项目总和的公式
- excel - 在 Excel 中设置单元格中的字符数并导出为 csv,然后导出为带有分隔符的 txt