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 :

Fichier + Segmentation du contenu (explode)


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 48
    Points : 48
    Points
    48
    Par défaut Fichier + Segmentation du contenu (explode)
    Bonjour,

    Voila mon petit soucis, j'ai le code ci-dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    	function load_classe($name_fichier)
    	{
    		$fichier = fopen($name_fichier, 'r');
     
    		$tab = array();
     
    		while (!feof($fichier))
    		{
    			$spe = new Spe();
    			$buffer = fgets($fichier);
    			$exploded = explode(',',$buffer);
     
    			$spe->setCat($exploded['0']);
    			$spe->setCla($exploded['1']);
    			$spe->setSpe($exploded['2']);
     
    			array_push($tab, $spe);
    		}
    		fclose($name_fichier);	
     
    		return $tab;
     
    	}
    la récupération dans le fichier ainsi que la segmentation de la chaîne semble bien se passer, néanmoins je reçois des notices m'indiquant pour les lignes suivante un Undefined offset: 1 et Undefined offset: 1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    			$spe->setCla($exploded['1']);
    			$spe->setSpe($exploded['2']);
    Ces notices sont embêtante et je ne voudrais pas juste les faire disparaître sans les comprendre. Merci.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est simple, l'erreur dit que $exploded[1] n'existe pas, donc que l'explode n'a rien eu à découper, donc que la ligne ne contient pas de virgule.
    Au passage, tu as fgetcsv qui rempace fgets + explode

  3. #3
    Membre habitué Avatar de bannik
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2003
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2003
    Messages : 191
    Points : 192
    Points
    192
    Par défaut
    Pour supprimer l'affichage des notices, tu peut modifier le niveau de log des erreurs php dans php.ini ou dan ton script.
    Error_reporting

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 48
    Points : 48
    Points
    48
    Par défaut
    Citation Envoyé par sabotage Voir le message
    C'est simple, l'erreur dit que $exploded[1] n'existe pas, donc que l'explode n'a rien eu à découper, donc que la ligne ne contient pas de virgule.
    Au passage, tu as fgetcsv qui rempace fgets + explode
    Ok en bon boulet j'ai ajouté une implémentation d'un compteur dans ma boucle et j'obtient 47, hors j'ai 44 ligne. J'ai trois ligne vide mais qui sont compter lors de la lecture, ces lignes sont vide mais présente car un saut de ligne a été effectué, désolé pour cette question qui n'aurai jamais du être posé et merci pour fgetcsv, je vais l'essayer.

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

Discussions similaires

  1. effacer un fichier ou son contenu
    Par yvesall dans le forum C
    Réponses: 16
    Dernier message: 09/05/2007, 21h04
  2. ordonner un fichier selon le contenu
    Par rherrad dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 03/05/2007, 13h04
  3. Réponses: 2
    Dernier message: 24/03/2007, 20h20
  4. Réponses: 10
    Dernier message: 05/10/2004, 11h28
  5. [Fichier] Lire le contenu d'un fichier
    Par bart64 dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 19/09/2004, 18h18

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