При нажатии на кнопку необходимо сформировать и загрузить файл с данными в формате csv.
Есть такая функция function getCsvFile(...)
Данные формируются и файл с данными сохраняется на сервере. Но мне необходимо, чтобы его мог получить клиент через загрузку.
Подскажите, пожалуйста, что не так.
Заранее благодарен
$now = gmdate("D, d M Y H:i:s");
header("Cache-Control: max-age=0, no-cache, must-revalidate, proxy-revalidate");
header("Last-Modified: {$now} GMT");
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition: attachment;filename=test.csv");
header("Content-Transfer-Encoding: binary");
//$array = $this->getLinks(...);
$titles = array("id", "Test");
ob_start();
$df = fopen("test.csv", "w");
fputcsv($df, $titles, ';');
$data = array(
array(1,2),
array(1,2),
array(1,2),
array(1,3)
);
foreach ($data as $row) {
fputcsv($df, $row, ';');
}
fclose($df);
Ответ
По идее Content-Type должен быть один.
И в значении для csv надо указать text/csv
header("Content-type: text/csv");
Пример - тут
Комментариев нет:
Отправить комментарий