PHP 5.3 - как добавить содержимое в большой файл без загрузки в память - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь эффективно записать большой объем данных в файл (я относительно новичок в PHP) в устаревшей системе в файл, не убивая память.За один раз пишет всего 50 клиентов, но через некоторое время он значительно замедляется, поэтому я предполагаю, что он сохраняет весь файл в памяти.Любые идеи, как я могу просто добавить в файл и справиться с размером файла становится очень большим?Фрагмент кода ниже.Примечание: я застрял с PHP 5.3.

do{
     //Tell the collection which page to load.
     $collection->setCurPage($currentPage);
     $collection->load();
     $fp = fopen(Mage::getBaseDir('export') .'/customers.json', 'a');
     foreach ($collection as $customer){
        //write collection as json
        fwrite($fp, "," . json_encode($customer->getData()));
        $customerCount++;
     }
     fclose($fp);
     $currentPage++;
     //make the collection unload the data in memory so it will pick up the next page when load() is called.
     $collection->clear();
     echo memory_get_usage() . "\n";
     echo "Finished page $currentPage of $pages \n"; 
} while ($currentPage <= $pages);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...