Как правильно выдать пользователю на загрузку экспортированный excel файл из PHP?

Здравствуйте. Нужно сделать экспорт сформированной таблицы на PHP в excel файл. Сохраняться она сохраняется на сервер, если делаю так:
$objWhriter = PHPExcel_IOFactory::createWriter($phpexcel, 'Excel2007');
$excel_name = $i[3] . '-' . $i[4] . '-' . $_SESSION['graphName'] . '.xlsx';
$objWhriter->save('gra/' . $excel_name);

Но мне нужно отдать файл на загрузку пользователю. Делаю таким образом:
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="myfile.xls"');
header('Cache-Control: max-age=0');
$objWhriter = PHPExcel_IOFactory::createWriter($phpexcel, 'Excel2007');
$excel_name = $i[3] . '-' . $i[4] . '-' . $_SESSION['graphName'] . '.xlsx';
$objWhriter->save('php://output');

Но ничего не выводит, так используются хэдеры. А у меня на каждой странице стартуется сессия, для проверки авторизации пользователя. Как в данном случае поступить? Думал сначала сохранять файл на сервер, а потом отдавать его пользователю через readfile, но опять же там тоже используются хэдеры.
  • Вопрос задан
  • 298 просмотров
Решения вопроса 1
@BI0R0B0T
Используйте буферизацию - тогда вы сможете управлять потоком хедеров
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
25 апр. 2024, в 11:49
25000 руб./за проект
25 апр. 2024, в 11:37
40000 руб./за проект