Ecrire un fichier CSV en php

Nouveau WRInaute
Bonjour,

Voilà j'essaie d'ecrire un fichier CSV à partir de php.

Voici le code :

$file_export = "panel.csv"; [edit] extension CSV !
$flux_export = fopen($file_export, "w+b"); // avec ou sans 'b' jai la même erreur
fputs($flux_export, "text à ecrire; re ; tier: quat");
fflush($flux_export);
fclose($flux_export);

Le fichier ainsi generé engendre une erreur dans excel mais pas dans bloc-notes.

[edit] Je suis sous windows avec apache et php 4.0
Quel est le probleme ?
 
WRInaute passionné
je fais $csvtmp en variable comme
$csvtmp="coucou;cava?\n";


$fichier = "../img/upload/csvtemp2.csv";
$fp = fopen($fichier, "w+");
fputs($fp,$csvtmp);
fclose($fp);
 
Nouveau WRInaute
Je rectifie l'erreur :

Je n'ai uniquement l'erreur quand j'ecrie le mot 'ID' dans le fichier :

$file_export = "panel.csv";
$flux_export = fopen($file_export, "w+");
fwrite($flux_export, "ID");
fclose($flux_export);
==> Erreur

$file_export = "panel.csv";
$flux_export = fopen($file_export, "w+");
fwrite($flux_export, "I");
fclose($flux_export);
==> ok
 
WRInaute accro
Utilise comme format "x";"v";"b" (avec guillements)
Je pense qu'il y a une fonction fputcsv ou quelque chose du genre dans PHP.
 
Nouveau WRInaute
Rectification l'erreur provient quand on rajouter aussi le \r\n comme suit :

$file_export = "panel.csv";
$flux_export = fopen($file_export, "w+");
fwrite($flux_export, "ID\r\n");
fclose($flux_export);
==> Erreur

Cela provient surement de l'intrepretation d'excel de la premiere ligne du fichier comme étant un header connu (voir RFC Format CSV)
 
Discussions similaires
Haut