У меня есть таблица базы данных postgresql и использование PHP для бэкэнд. В пользовательском интерфейсе я предоставляю пользователям способ генерации отчетов. Что я хочу сделать, так это то, что когда пользователь хочет сгенерировать отчет, файл CSV должен быть предоставлен для загрузки.
Я уже знаю, как сгенерировать CSV файл для результатов запроса, но теперь в этом случае я не хочу, чтобы файл сохранялся на диске. Вместо этого он должен быть загружен браузером.
Вам просто нужно предоставить страницу для скачивания...
#downloadCSV.php?reportID=1
header('Content-Type: text/plain');
header('Content-Disposition: attachment; filename="yourfile.csv"');
// do your postgresql query and put the result into $csv
echo $csv;
Таким образом, вам не нужно создавать реальный файл на вашем сервере
Второй заголовок Content-Disposition: attachment;
заставляет браузер загружать файл вместо этого, чтобы показывать содержимое на странице
header('Content-Type: application/csv');
вместо