Страницы

Поиск по вопросам

вторник, 26 февраля 2019 г.

Загрузить файл csv через php

При нажатии на кнопку необходимо сформировать и загрузить файл с данными в формате 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");
Пример - тут

Комментариев нет:

Отправить комментарий