X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=csv.php;h=f9e311a517ccab955e0e10fe50dbb174de756cd0;hb=ea6a853c31842f2c13400c38afa9a539d8f14406;hp=d2d90e33f23f31a84210858f3f159d9c709acf8a;hpb=18971ff5f0c4a74eac4b65c0c9a7b1b8a5be9b3f;p=wfpl.git diff --git a/csv.php b/csv.php index d2d90e3..f9e311a 100644 --- a/csv.php +++ b/csv.php @@ -4,14 +4,21 @@ # 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(); }