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 :

Parcourir fichier CSV - problème au dernier élément


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 81
    Par défaut Parcourir fichier CSV - problème au dernier élément
    Bonjour,

    Je travail actuellement sur un fichier CSV.
    Ce fichier étant assez "spécialement" rempli... je ne peux pas utiliser fgetcsv(), j'utilise donc fgets() pour le parcourir.
    Les données champs sont séparés par des ";" et mon dernier n'est jamais renseigné.
    Voici un exemple de ligne de ce fichier CSV :
    • Anniversaire Famille;ANNIVFAM;;4-7;16-19;27-;;;;;;;;

    Après "ANNIVFAM", chaque champ correspond à un mois de l'année (dans l'ordre bien sûr : janvier, février, etc.) et les chiffres à des dates pour chaque mois.

    Et voici le code que j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $myArray = explode(";", $elem);
    list($evenement, $code) = array_slice($myArray, 0, 2);
    $myDates = array_slice($myArray, 2);
    print "$evenement<br />";
    print "$code<br />";
    print_r($myDates);
    La dernière lignede code (print_r($myDates) affiche un tableau de 12 colonnes (de 0 à 11) avec les dates des douze mois de l'année.
    Ensuite je fais des test pour savoir si !empty($myDates[$i]), cela fonctionne bien, sauf pour l'index numéro 11 du tableau (la dernière date : décembre), qui est toujours "vide" mais qui a pour strlen() : 2...

    Je dois faire des insertions dans une base de données à partir de ce script, mais je n'arrive pas à gérer cette dernière date lorsqu'elle n'est pas remplie, elle a toujours une longueur... Un echo de l'index #11 n'affiche rien du tout.

    Merci d'avance, à ceux qui auraient déjà eu ce problème, de m'aider.

    Cordialement,

    DJuL-

  2. #2
    Membre chevronné Avatar de BornBanane
    Homme Profil pro
    dev
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Par défaut
    Je dirais un problème de caractère de fin de ligne.
    Essaie un !empty(rtrim($myDates[$i]) ). Rtrim (http://fr2.php.net/manual/fr/function.rtrim.php) enlève le caractère de fin de ligne (entre autres). Ce qui à mon avis résoudra ton soucis.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 81
    Par défaut
    J'avais testé avec trim(), je ne conaissais pas rtrim().
    Je teste ça tout de suite.

    Merci de ta réponse.

  4. #4
    Membre émérite Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Par défaut
    Hello,

    Trim => Enleve les caracteres en début et fin de ligne (a gauche et a droite de la ligne donc)
    LTrim => Enleve les caracteres en début de ligne (a gauche de la ligne donc L pour Left)
    RTrim => Enleve les caracteres en fin de ligne (a droite de la ligne donc R pour right)

    C'était juste pour préciser la logique

    @+
    cadou

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/02/2015, 10h34
  2. Génération fichier csv problème accent
    Par marion782 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 11/08/2009, 09h16
  3. import de fichier CSV : problème de caractères accentués
    Par mouaa dans le forum Administration
    Réponses: 2
    Dernier message: 08/08/2007, 07h45
  4. Télécharger un fichier CSV (problème de version)
    Par SPOUTNIK007 dans le forum ASP
    Réponses: 1
    Dernier message: 20/10/2006, 12h16
  5. Réponses: 1
    Dernier message: 20/10/2005, 10h32

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