我正在尝试从我网站上的数组中输入的数据进行CSV导出。我正在使用this question来帮助我。我得到的数据应该在我的网站上回显的CSV中,但不会导出到文件中。这是我从问题中得到的代码:
header( "Content-Type: text/csv;charset=utf-8" );
header( "Content-Disposition: attachment;filename=\"$filename\"" );
header("Pragma: no-cache");
header("Expires: 0");
$fp= fopen('php://output', 'w');
foreach ($data as $fields){
fputcsv($fp, $fields);
}
fclose($fp);
exit();
我不完全理解header()函数正在做什么。我如何将其下载到文件中?
如果它有助于我的数组采用这种格式:
$data = array(dataset1(array, of, data), dataset2(array, of, data), dataset#(array, of, data));
编辑:我的$ data数组在会话变量中,并且它没有下载的原因是因为我有session_start()而有些包含在顶部。而不是下载它将回显到屏幕,但如果我删除它下载,代价是没有数据导出。任何人都有解决方案吗?
答案 0 :(得分:0)
header()函数使用相应的值向您的浏览器发送HTTP标头。 然后,它将CSV数据发送到输出流,由于标题,浏览器将其解释为可下载文件。