我正在通过像这里这样的 PHP 代理访问 XML API(航班搜索比较) 。
API 总是有一个完整的文件供下载。第一个版本声明有 0 个结果,然后在调用它几次后弹出第一个结果。
API 文档说:
result 方法将始终为您提供搜索结果的当前状态。您可以多次调用它(可能使用 ajax 调用)
我的问题是,我不知道何时完成,即何时交付所有结果。
我试过这个:
读到
feof
,然后通过重置文件位置指示器并像这里一样fseek()
等待,但这不起作用,因为流不支持.fseek()
等待几秒钟,然后显示结果,但这效果不佳,因为 API 有时需要很长时间(而且我没有得到所有内容)
read until
feof
,然后使用ftell()
来查看是否已将新内容写入文件,但我缺乏事后做某事的可能性...$handle = fopen($flights_url, "r"); if ($handle) { while (!feof($handle)) { $buffer = fgets($handle); echo $buffer; } fclose($handle); }
我现在没有主意了。这应该如何以一种好的方式完成?
-T
编辑:更改格式并添加了一些代码