Cách download CSV trong framework Fuelphp
fuelphp
1
PHP
74
Male avatar

skul169 viết ngày 07/10/2016

Download CSV cho framework Fuelphp http://fuelphp.com/

Tạo file app/classes/format.php

    <?php
    // app/classes/format.php を作成
    class Format extends Fuel\Core\Format {
         /**
         * 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);
    }
Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

Male avatar

skul169

27 bài viết.
5 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
Male avatar
4 0
Khi cần lấy data trong DB trên môi trường test của khách hàng thì bắt buộc phải sử dụng lệnh command line. Thường thì sẽ dùng một trong các patter...
skul169 viết gần 2 năm trước
4 0
Male avatar
4 6
Cấu hình Nginx làm Reverse Proxy cho Apache 1.Cài đặt Apache Nếu VPS chưa được cài đặt Apache thì bạn dùng lệnh sau để cài đặt: yum install http...
skul169 viết gần 2 năm trước
4 6
Male avatar
2 0
Trong PHP, nếu bạn muốn save file trùng tên nhau thì gán thêm số thứ tự kèm theo, ví dụ như test_1.txt] (để tránh việc bị ghi đè lên file cũ) thì h...
skul169 viết hơn 1 năm trước
2 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


Male avatar
{{userFollowed ? 'Following' : 'Follow'}}
27 bài viết.
5 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!