Req to csv

Le but de ce script est de pouvoir exporter le résultat d’une requête mysql dans un fichier au format CSV avec les entêtes de colonnes.

req2csv.php
<?
/**
 * Exporter une requête mysql dans un fichier csv
 * Fait le 3-07-2013 par EDMC73
 */
 
// Connexion à la base de données : server, user, password, db
$db = new mysqli('localhost','root','Motdepasse','maBase');
 
// Séparateur de champ
$separateur=";";
 
// Nom du fichier de sortie
$filename="export_".date('Ymd-His').".csv";
 
// Requête à exporter
$req="SELECT nom as Nom, prenom as Prenom, ville as Ville FROM user";
 
 
/* == MAIN ================================================================================================= */
$res=$db->query($req);
 
$out="";
 
while($val=$res->fetch_field())
	$out.=$val->name.$separateur;
 
$out=substr($out, 0,-1)."\n";
 
while($val=$res->fetch_row()){
	$ligne="";	
	foreach ($val as $k=>$v)
		$ligne.= str_replace($separateur, ' ', $v).$separateur;
	$out.=substr($ligne, 0,-1)."\n";
}
$db->close();
 
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.$filename);
flush();
echo $out;
 
?>