Я работаю над cron script, который попадает в API, получает JSON файл (большой массив объектов) и сохраняет его локально. Как только это будет завершено, другой script должен проанализировать загруженный файл JSON и вставить каждый объект в базу данных MySQL.
В настоящее время я использую file_get_contents()
вместе с json_decode()
. Это попытается прочитать весь файл в памяти, прежде чем пытаться его обработать. Это было бы хорошо, за исключением того, что мои файлы JSON обычно будут варьироваться от 250 МБ-1 ГБ+. Я знаю, что могу увеличить свой предел памяти PHP, но это не кажется лучшим ответом на мой взгляд. Я знаю, что я могу запускать fopen()
и fgets()
для чтения файла в строчном порядке, но мне нужно прочитать файл в каждом объекте json.
Есть ли способ чтения в файле для одного объекта или существует другой подобный подход?