FatFree подготавливает CSV для загрузки из базы данных

Каким будет правильный способ получить CSV в виде загрузки файла, подготовленного из таблицы базы данных. Я хотел бы, чтобы это произошло по нажатию кнопки.

Должен ли я сначала сделать это .csv, используя стандартный способ сделать это в PHP, а затем использовать \Web::instance()->send() в каком-то обработчике маршрута?


person branquito    schedule 24.06.2015    source источник


Ответы (1)


Web->send ожидает в качестве входных данных реальный файл, поэтому вам придется пойти стандартным путем PHP:

function dumpCSV($rows,$filename,$sep=',',$eol="\r\n") {
  header('Content-type: application/csv; charset=UTF-8');
  header('Content-Disposition: attachment; filename='.$filename);
  foreach($rows as $row)
    echo implode($sep,array_map(function($cell){
      return '"'.$cell.'"';
    },$row)).$eol;
}

Также проверьте класс Sheet ikkez, который может помочь вам отображать табличные данные в формате Excel и CSV.

person xfra35    schedule 24.06.2015