Generate CSV from Array Last updated on: November 25, 2009 function generateCsv($data, $delimiter = ',', $enclosure = '"') { $handle = fopen('php://temp', 'r+'); foreach ($data as $line) { fputcsv($handle, $line, $delimiter, $enclosure); } rewind($handle); while (!feof($handle)) { $contents .= fread($handle, 8192); } fclose($handle); return $contents; } Usage $data = array( array(1, 2, 4), array('test string', 'test, literal, comma', 'test literal "quotes"'), ); echo generateCsv($data); // outputs: // 1,2,4 // "test string","test, literal, comma","test literal""quote"""
Ok this is a sweet function!
This is very helpful. I realize that this is an older post, but I wanted to point out that it appears that you haven’t declared the variable
$contentsprior to appending to it.