11/08/2018, 20:53
Cách download CSV trong framework Fuelphp
Download CSV cho framework Fuelphp http://fuelphp.com/ Tạo file app/classes/format.php <?php // app/classes/format.php を作成 class Format extends FuelCoreFormat { /** * CSV出力をSJIS-WINで返す * @access public * @param mixed $data * @return ...
Download CSV cho framework Fuelphp http://fuelphp.com/
Tạo file app/classes/format.php
<?php // app/classes/format.php を作成 class Format extends FuelCoreFormat { /** * CSV出力をSJIS-WINで返す * @access public * @param mixed $data * @return string csv(sjis-win) */ public function to_csv($data = null){ $csv = parent::to_csv($data); $csv = mb_convert_encoding($csv, 'SJIS-win', 'UTF-8'); return $csv; } }
Đăng ký class vừa tạo vào bootstrap
<?php // app/bootstrap.php の一部を修正 Autoloader::add_classes(array( // Add classes you want to override here // Example: 'View' => APPPATH.'classes/view.php', 'Format' => APPPATH . 'classes/format.php', ));
Tạo function thực hiện việc donwload
public static function export_csv($array, $csv_name) { // Response $response = new Response(); // content-type: csv $response->set_header('Content-Type', 'application/csv'); // ファイル名をセット $response->set_header('Content-Disposition', 'attachment; filename="'. $csv_name .'"'); // キャッシュをなしに $response->set_header('Cache-Control', 'no-cache, no-store, max-age=0, must-revalidate'); $response->set_header('Expires', 'Mon, 26 Jul 1997 05:00:00 GMT'); $response->set_header('Pragma', 'no-cache'); // CSVを出力 echo Format::forge($array)->to_csv(); // Response return $response->send(true); }