# little sense, and does not actually have anything to do with commas.
# pass in a 2d array (array of rows) and it'll send it to the browser
+# I can't figure out how to get multi-line fields to work, so replace newlines with 4 spaces.
function array2d_to_csv_download($data, $filename) {
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename=' . $filename);
foreach($data as $row) {
+ $first = true;
foreach($row as $el) {
- echo '"' . str_replace('"', '""', $el) . "\"\t";
+ if($first) {
+ $first = false;
+ } else {
+ echo "\t";
+ }
+ echo '"' . str_replace("\n", " ", str_replace('"', '""', $el)) . '"';
}
- echo "\n"; # apparently can be \n or \r\n
+ echo "\r\n";
}
exit();
}