fputcsv отображает данные в браузере вместо загрузки данных в виде файла CSV - PullRequest
1 голос
/ 21 января 2020

Я использую функцию fputcsv для экспорта данных в виде файла CSV, но он отображает все данные в браузере, а не загружает их в виде файла CSV. Вот мой код

header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=export.csv');
$output = fopen('php://output', 'w');
fputcsv($output, $column_headings);
fclose($output);

Данные отображаются правильно в браузере, но я хочу загрузить это как файл export.csv. Я не знаю, что с этим не так. Будем благодарны за любые предложения по этому поводу.

Ответы [ 2 ]

1 голос
/ 21 января 2020

Вы не можете контролировать, как браузер обрабатывает тип контента text/csv, однако вы можете сказать браузеру, что он должен обрабатывать данные как двоичные.

header('Content-Type: application/octet-stream');

0 голосов
/ 19 февраля 2020

Я добавил ob_start(); в начале моего файла, и теперь я могу экспортировать файлы.

...