headers->set('Content-Type','text/csv') не работает (Symfony)

169
19 апреля 2018, 10:29

Всем привет, я хочу сделать экспорт csv документа, для этого я использую Response:

$response = new Response();
        $response->setContent(readfile($csv));//пробовал и без этого, csv - это мой файл.
        $response->headers->set('Content-Type','text/csv');
        $response->headers->set('Content-Disposition', 'attachment; filename='."Export".date('Ymd His').'.csv');
        return $response;

Когда я стучусь на этот роут, то в header-е мне прилетает text/html, чего не должно быть. В чем может быть проблемa? Я пробовал еще StreamResponse, и я оборачивал свой метод в callback и потом отдавал его в респонс, тогда всё работет, но мне кажеться, что это дичь какая-то:

private function getCSV($array, $records)
    {
        $csv = function () use ($array){
        $time = new \DateTime('now');
        $formatTime = $time->format('y-m-d H:i:s ');
        $file = fopen('php://output', 'w+');
        fputcsv($file, array('report'));
        fputcsv($file, array('Report created at:' . $formatTime));
        fputcsv($file, array(''));
        fputcsv($file, array('ТЕКСТ'));
        $this->getTree($array, $file, $records);
        fputcsv($file, array(''));
        fputcsv($file, array('RECORDS'));
        foreach ($records as $record) {
            fputcsv($file, array($record));
        }
        fclose($file);
         };
        return $csv;
    }

А потом:

    $response = new StreamedResponse();
        $response->setCallback($csv);
        $response->headers->set('Content-Type','text/csv');
return $response;

То так всё работет, подскажите, в чем может быть проблема.

READ ALSO
Как правильно написать запрос к БД PDO

Как правильно написать запрос к БД PDO

Нужно написать стандартный запрос к БД используя PDO php ничего сложногоВот запрос, который я использую:

105
Как подставить в два условия where mysql две переменные php?

Как подставить в два условия where mysql две переменные php?

Всем добрый день, как правильно подставить две переменные в условие запроса mysql ? Видимо проблема с ковычкамиКонфиг сервера :

135
Ошибка работы с БД | php

Ошибка работы с БД | php

Uncaught Error: Call to undefined function mysql_query()

124
подсчет количества товара

подсчет количества товара

На форме выбирается количество ящиков и автоматически меняется сумма у Ящиков и итоговая суммаСчитается отдельно количество товара и меняется...

157