Ecriture de CSV d'un serveur Unix wers Notepad
Bonjour
Voici mon problème. Notre serveur PHP est sous Linux. On me demande de créer des fichiers CSV et d'autoriser leur téléchargement. Problème: mes clients sont sous WinXP et veulent pouvoir ouvrir le fichier sous notepad.
Or, bien que le fichier soit créé correctement, mon problème vient des sauts de lignes, j'obtiens un caractère bizarre à la place.
Voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
function writeCSV($request, $username, $filetype, $titles, $extension="txt"){
$filename = $filetype."_".$username."_".setDateFormatted().".".$extension;
$tmp = sys_get_temp_dir()."/".$filename;
$out = fopen($tmp, "w");
getCsvContent($titles, $request, $out);
fclose($out);
system(escapeshellcmd("sed -i -e 's/$/\r/' ".$tmp));
header('Content-Type: application/force-download');
header('Content-Disposition: attachment; filename='.basename($tmp));
header("Content-Length: ".filesize($tmp));
readfile($tmp);
unlink($tmp);
}
function getCsvContent($titles, $request, $out){
fputcsv($out, $titles);
foreach($request as $index=>$elements){
fputcsv($out, $elements);
}
} |
Merci d'avance de votre aide.
@++