Creare e scaricare file CSV in PHP

Mattepuffo's logo
Creare e scaricare file CSV in PHP

Creare e scaricare file CSV in PHP

Oggi vi presento una piccola funzioncina che ci permette di creare un file CSV al volo e metterlo in download usando PHP.

Non useremo librerie di terze parti, ma le funzioni standard:

  • fopen
  • fputcsv
  • fseek
  • fpassthru

Ecco la funzione:

function downloadCsv($array, $filename = "export.csv", $delimiter = ";") {
	$f = fopen('php://memory', 'w');
	foreach ($array as $line) {
		fputcsv($f, $line, $delimiter);
	}
	fseek($f, 0);
	header('Content-Type: application/csv');
	header('Content-Disposition: attachment; filename="' . $filename . '";');
	fpassthru($f);
}

L'array deve essere un array multidimensionale, tipico di una query eseguita su database.

Enjoy!


Share this Post

Commentami!