blob: b7b9dd29503365468fefbbeaabc2178f715dcb37 [file] [log] [blame]
<?php
/*******************************************************************************
* Copyright (c) 2016 Eclipse Foundation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Eric Poirier (Eclipse Foundation) - initial API and implementation
*******************************************************************************/
Class FileExport {
/**
* This function builds the CSV
*
* @param $file_name - Name of the file
* @param $column_titles - Title of all the columns
* @param $rows - All the rows to go in the csv file
*
**/
public function buildCsv($file_name = "data", $rows = array(), $column_titles = array()) {
if (empty($rows)) {
return array();
}
// output headers so that the file is downloaded rather than displayed
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename='.$file_name.'.csv');
// create a file pointer connected to the output stream
$output = fopen('php://output', 'w');
// output the column headings
if (!empty($column_titles)) {
fputcsv($output, $column_titles);
}
// loop over the rows, outputting them
foreach($rows as $row) {
fputcsv($output, $row);
}
ob_clean();
ob_end_flush();
}
}