У меня есть JSON файл с информацией о книге ок. 500MB и 300K строк. Я прочитал весь файл с;
content = file_get_contents(jsonFile);
и i pu sh в массив.
Весь процесс (чтение из файла, сохранение некоторого столбца в массиве и т. Д. c) занимает около 20 секунд. Пока все в порядке.
Но проблема начинается после этого момента. Я хочу записать весь массив (снова 300k элемент) в CSV-файл, разделив его с помощью ~.
, который я использовал;
$fp = fopen('php://output', 'w');
foreach ($array as $arrayItem) {
fputcsv($fp, $arrayItem,'~');
}
fclose($fp);
Но это решение очень медленное и занимает слишком много времени записать всю память в файл. Объем данных в памяти составляет примерно 2,5 ГБ. Что нужно сделать, чтобы запись была очень быстрой?