可以直接循环数组数据,使用 fwrite
或 fputs
将拼装好的每行的数据写入文件中。
更好的办法是,使用 fputcsv
函数,可以直接将一个数组保存成逗号分隔的一行数据。
直接看代码:
function downloadAsCsvFile( array &$csvTitle, array &$csvData, $fileName='' ) { if(empty($fileName)){ //保存的文件名称 $fileName = 'download_'.date('Ymd_His'); } header('Content-type: application/csv'); header('Content-Transfer-Encoding: binary; charset=utf-8'); header('Content-Disposition: attachment; filename='.$fileName.'.csv'); $fp = fopen("php://output", 'w'); //生成BOM头 fputs($fp, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) )); //生成标题栏 fputcsv($fp, $csvTitle); foreach ($csvData as $row) { fputcsv($fp, $row); } exit(); }
————————————————
版权声明:本文为CSDN博主「Wang123net」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cnwyt/article/details/84874471