@ KikoGarcia, спасибо за вклад. Однако было бы проще сделать это следующим образом. Кроме того, когда я попробовал ваш код, он копирует всю страницу в экспортированный файл CSV. После fclose();
.
должно быть указано
exit();
.
После преобразования данных JSON в массив мне пришлось пройтись по циклу и создать еще один массив, поскольку в нем есть вложенные данные, которые мне нужны для экспорта. Получив окончательный массив, я вызываю эту функцию, т.е. $this->arrayToCSVExport($finalArr);
public function arrayToCSVExport($array, $filename = "backup.csv") {
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename="'.$filename.'";');
$bookdata = fopen('php://output', 'w');
// output the column headings
fputcsv($bookdata, array(
'Customer Type',
'Company Name',
'Contact First Name',
'Contact Last Name',
'Contact Phone',
'Contact Mobile',
'Contact Email',
'Contact Address',
'Course Name',
'Event ID',
'Student First Name',
'Student Last Name',
'Student Phone',
'Student Mobile',
'Student Email',
'Student Address',
'Purchase Order'
));
foreach ($array as $user) {
fputcsv($bookdata, $user);
}
fclose($bookdata);
exit();
}