Création de csv

Eléphanteau du PHP | 45 Messages

04 janv. 2007, 15:04

Bonjour,
J'suis en train de créer un site et j'aimerai pouvoir générer un fichier csv afin que les données récoltées par le formulaire puissent être importées dans un fichier excel.
 $datedujour = date('d/m/y-H:i:s');
    	$filename="../test.csv";
    	$fl=fopen($filename,"a+");
fwrite($fl,"$datedujour;$vtitle;$vfirst_name;$vlast_name;[...]$vlunch_veg\n\r");
		fclose($fl);
Sans surprise, ce petit code fonctionne à merveille. Seulement deux petits problèmes pointent leur nez lorsqu'on le test à font:
1. Pour un fichier csv "en normes" il faudrait que chaque donnée soit encadrée par "...". Ceci n'est pas possible car fwrite nécessite que toutes les données soit comprises dans "...". Ceci n'est cependant pas très grave, puisque oo a pu lire comme même.
2. Plus grave, le séparateur utilisé est ;. Ceci pose problème lorsqu'une donnée contient un é, è, à etc qui se traduit dans mon fichier par é &eagrave; ou &aagrave;. Ainsi, un prénom comme Jéremi va être reporté Jéremi dans le fichier csv. Excel ou oo va alors considéré que Jéremi est au fait deux champs (j&eacute et remi) et remi prendra donc la place de la valeur suivante, créant un déplacement de toutes les valeurs et foutre le bordel dans le tableau.
Donc --> peut-on faire en sorte que les caractères avec des aigus ou graves soit reportés "juste" dans le fichier csv. En d'autre termes, que Jéremi soit écrit Jéremi dans le fichier csv et non Jéremi?
J'espère avoir été compris.
Merci.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

04 janv. 2007, 15:11


Eléphanteau du PHP | 45 Messages

04 janv. 2007, 15:39

parfait, merci bcp.
J'avais entre temps résolu le problme en mettant des | et en configurant excel en conséquence...

Eléphant du PHP | 187 Messages

04 janv. 2007, 15:47

Salut,
php a des fonctions dediées au csv :
fgetcsv()
fputcsv()

Mammouth du PHP | 1885 Messages

04 janv. 2007, 16:42

Super! J'avais jamais vu ces fonctions.

On en apprend à tous les jours. :P
La programmation est l'expression de la poésie d'un programmeur
Génération PHP