IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Fonction fgetcsv() et explode()


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 65
    Points : 55
    Points
    55
    Par défaut Fonction fgetcsv() et explode()
    Bonjour,

    J'ai rencontré un souci sur les fonctions fgetcsv() et explode(). Ok, je m'explique:

    Code1:
    $handle = fopen("toto.csv", "r");
    while (($data = fgetcsv($handle, 10000, ",")) !== FALSE) {
    //echo $data[0] . "<br />\n";
    list($cmp1, $cmp2, $cmp3, $cmp4, $cmp5, $cmp6)=explode(";", $data[0]);
    echo $cmp1, $cmp2, $cmp3, $cmp4, $cmp5, $cmp6. "<br />\n";

    En effet, la première ligne de ce fichier toto a un champ [bla,blabla]
    C-à-d un champ contient un ,


    Code2:
    $data = "a;b;c;d;bla,blabla;f";
    list($cmp1, $cmp2, $cmp3, $cmp4, $cmp5, $cmp6)=explode(";", $data);
    echo $entete5 . "<br />\n";

    Je ne comprends pas pourquoi pour le premier code, le résultat affiché ne contient pas complètement le champ [bla,blabla], mais que [bla]!
    Ca marche bien avec le deuxième code, le champ avec"," est bien affiché.

    Quelqu'un peut m'explique pourquoi? Je voudrais bien utiliser la fonction fgetcsv(), mais il me semble qu'il ne marche pas avec les champs qui ont des , la dedans.

    Merci par avance pour vos aides.

    Cdt

  2. #2
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 65
    Points : 55
    Points
    55
    Par défaut Résolu
    Pardon,

    Je dois bien bien réfléchir avant de poser la question, mtn j'ai trouvé le solution, c'est tout simple.
    C'est suffit de remplacer
    $data = fgetcsv($handle, 10000, ",")
    par
    $data = fgetcsv($handle, 10000, "\r\n")

    En fait, c'est l'import de Phpmyadmin me rappel cela;-)

    Merci quand même.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 05/02/2010, 16h53
  2. recuperer variables fonction fgetcsv
    Par hannao dans le forum Langage
    Réponses: 16
    Dernier message: 30/04/2009, 15h25
  3. Réponses: 6
    Dernier message: 19/05/2008, 15h39
  4. [CSV] fonction fgetcsv, récupération des éléments
    Par mcdelay dans le forum Langage
    Réponses: 5
    Dernier message: 29/02/2008, 11h36
  5. [CSV] fonction fgetcsv : bug?!
    Par haltabush dans le forum Langage
    Réponses: 10
    Dernier message: 15/03/2007, 15h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo