Как сформировать .csv файл и отдать его пользователю

Тема в разделе "PHP", создана пользователем sCrypt, 5 авг 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. sCrypt

    sCrypt Создатель

    Регистр.:
    11 авг 2008
    Сообщения:
    23
    Симпатии:
    12
    Сабж.
    Имеем get.php в который будут передаваться параметры, и в зависимости от них будет формироваться текстовый файл и загружаться к пользователю.
    Так вот собственно вопрос, можно ли это как то сделать, без сохранения его на сервере, а чтобы сразу отдать пользователю?

    Пример:
    get.php?region=blabla
    идет запрос к БД, выбираются все записи где region=blabla, записываются в виде csv файла и этот файл отдается пользователю.
    :bc:
     
  2. Freeborn

    Freeborn Постоялец

    Регистр.:
    31 окт 2008
    Сообщения:
    62
    Симпатии:
    21
  3. D@nil

    D@nil

    Регистр.:
    1 окт 2006
    Сообщения:
    338
    Симпатии:
    122
    ИМХО csv удобнее формаровать простым выводом (echo) с разделителем (таб \t)
     
  4. shtumi

    shtumi Писатель

    Регистр.:
    12 июн 2008
    Сообщения:
    8
    Симпатии:
    0
    Перед выводом любого текст напишите:
    header("Content-type: text/plain");
    header("Content-Disposition: attachment; filename=имя_файла");

    Потом просто выводите функцией echo или print текст csv файла. Браузер воспримет это как файл, лежащий на сервере. Но т. к. файл текстовый, то браузер по умолчанию его сразу же откроет для просмотра. Если это не нужно, можно попробовать задать другой mime-тип либо заархивировать эти данные и отдать пользователю уже архив.
     
Статус темы:
Закрыта.