首页 > 解决方案 > 我想将数组数据导出到 csv 文件

问题描述

我想将数组数据导出到 csv 文件中,我创建了一个文件 tset.csv 并尝试使用以下代码将数据写入文件

这是我的数组:

Array ( 
    [0] => Array ( [pgm_name] => General services ) 
    [1] => Array ( [pgm_name] => Department of education ) 
)

代码:

$filename = 'test.csv'; 

header("Content-Description: File Transfer"); 
header("Content-Disposition: attachment; filename=$filename"); 
header("Content-Type: application/csv; ");
// header("Pragma: no-cache");
// header("Expires: 0");

$file = fopen(FCPATH.'/uploads/'.$filename, 'w');
fprintf($file, chr(0xEF).chr(0xBB).chr(0xBF));
$header = array("Program Name"); 
// fputcsv($file, $header);
foreach($printdata as $printdata) { 

   fputcsv($file,$printdata); 
}
fclose($file);

exit;

在 csv 文件中我收到这样的错误

遇到 PHP 错误

严重性:警告

消息:fputcsv() 期望参数 2 是给定的数组字符串

文件名:控制器/Frontdoor.php

行号:3516

"

回溯:

"

标签: phpcodeigniter-3

解决方案


请检查“foreach($printdata as $printdata) {”。

你应该使用

foreach($printdata as $data) { 
   fputcsv($file,$data); 
}

推荐阅读