Grow your CSS skills. Land your dream job.

Last updated on:

Generate CSV from Array

function generateCsv($data, $delimiter = ',', $enclosure = '"') {
       $handle = fopen('php://temp', 'r+');
       foreach ($data as $line) {
               fputcsv($handle, $line, $delimiter, $enclosure);
       while (!feof($handle)) {
               $contents .= fread($handle, 8192);
       return $contents;


$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"""


  1. timani
    Permalink to comment#

    Ok this is a sweet function!

  2. Jared Hocutt
    Permalink to comment#

    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 $contents prior to appending to it.

  3. Mike Timmerman

    Awesome, thanks!

Leave a Comment

Posting Code

Markdown is supported in the comment area, so you can write inline code in backticks like `this` or multiline blocks of code in in triple backtick fences like this:

<div>Example code</div>

You don't need to escape code in backticks, Markdown does that for you. If anything screws up, contact us and we can fix it up for you.

*May or may not contain any actual "CSS" or "Tricks".