PHP导出csv文件

时间:2015-09-24 18:38:00

标签: php csv

我正在尝试导出csv文件,但是当我导出文件时,它会在csv中生成chienese文本。

public function actionExportFile()
{
       header('Content-Type: text/csv; charset=utf-8');
       $list = array (
                array('aaa', 'bbb', 'ccc', 'dddd'),
                array('123', '456', '789'),
                array('"aaa"', '"bbb"')
                );

                $fp = fopen('file.csv', 'w');

                foreach ($list as $fields) {
                    fputcsv($fp, $fields);
                }

                fclose($fp);
        exit;
    }

导出csv我做错了什么。

1 个答案:

答案 0 :(得分:2)

您似乎将PHP的2次使用与头文件和文件写入混合在一起。 删除header行以写入服务器上的文件:

function actionExportFile()
{
   $list = array (
            array('aaa', 'bbb', 'ccc', 'dddd'),
            array('123', '456', '789'),
            array('"aaa"', '"bbb"')
            );

            $fp = fopen('file.csv', 'w');

            foreach ($list as $fields) {
                fputcsv($fp, $fields);
            }

            fclose($fp);
    exit;
}

或将您的代码更改为:

function actionExportFile()
{
   header('Content-Type: text/csv; charset=utf-8');
   $list = array (
            array('aaa', 'bbb', 'ccc', 'dddd'),
            array('123', '456', '789'),
            array('"aaa"', '"bbb"')
            );

            foreach ($list as $fields) {
            echo implode( ',', $fields );
         }
    exit;
}

生成文件下载。