PHP Использование fgetcsv для огромного CSV-файла
С помощьюfgetcsv
могу ли я как-то сделатьразрушительный читай где строкиЯ прочитал и обработал, будет отброшен, так что если я нея не смогу вернуться через весь файл за первый проход и вернуться туда, где остановился раньше?the script timed out
Дополнительные детали: я
я получаю ежедневную информацию о продукте от поставщика, который выглядит как файл размером 200 Мб .gz. Когда я распаковываю файл, он превращается в 1.5gb .csv с почти 500 000 строк и 20-25 полей. Мне нужно прочитать эту информацию в базу данных MySQL, в идеале с PHP, чтобы я мог запланировать CRON для запуска сценария у моего провайдера веб-хостинга каждый день.
У меня жесткий тайм-аут на сервере, установленный хостинг-провайдером на 180 секунд, и максимальный лимит использования памяти 128 МБ для любого отдельного сценария. Эти ограничения не могут быть изменены мной.
Моя идея состояла в том, чтобы получить информацию из .csv с помощью функции fgetcsv, но яЯ ожидаю, что придется сделать несколько проходов в файле из-за 3-минутного тайм-аута, я подумала, что было бы неплохо исключить файл, когда я его обрабатываю, чтобы я неНе нужно тратить циклы, пропуская строки, которые уже были обработаны в предыдущем проходе.