我正在编写一个命中 API、接收 JSON 文件(大量对象)并将其存储在本地的 cron 脚本。一旦完成,另一个脚本需要解析下载的 JSON 文件并将每个对象插入 MySQL 数据库。
我目前正在使用file_get_contents()
with json_decode()
。这将在尝试处理之前尝试将整个文件读入内存。这很好,除了我的 JSON 文件通常在 250MB-1GB+ 范围内。我知道我可以增加我的 PHP 内存限制,但这似乎不是我心目中最好的答案。我知道我可以运行fopen()
并fgets()
逐行读取文件,但我需要按每个 json 对象读取文件。
有没有办法读取每个对象的文件,还是有另一种类似的方法?