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 :

Lecture de fichier


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 188
    Points : 130
    Points
    130
    Par défaut Lecture de fichier
    Bonjour à tous,

    Bon voila un fichier du type:
    tutu toto tata
    ruru roro rara
    ...
    Et voila mon script PHP:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $monfichier=fopen("fichier.txt","r");
    while (!feof($monfichier))
    {
    $ligne= fgets($monfichier);
    echo "$ligne";
    }
    Bon ok, ça marche mais ça fait pas ce que je veux.
    Je souhaite ne pas avoir les lignes mais juste pouvoir récupérer les mots.
    Est-ce qu'il existe une fonction qui fait ça?

    Comment faire sinon? parce que récupérer la ligne c'est bien, mais moi je veux traiter les mots pour chaque ligne.

    J'espère que je me suis fait comprendre.

    Merci.

  2. #2
    Invité
    Invité(e)
    Par défaut
    une fois que tu as la ligne tu peux faire un explode avec lespace
    Dernière modification par Invité ; 30/05/2006 à 11h43.

  3. #3
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    dans ta boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $ligne= fgets($monfichier);
    $tabl_mots = explode(' ', $ligne);
    ton tableau $tabl_mots contiendra tout les mots de ta ligne

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par titoumimi
    dans ta boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $ligne= fgets($monfichier);
    $tabl_mots = explode(' ', $ligne);
    ton tableau $tabl_mots contiendra tout les mots de ta ligne
    ben tu as ta reponse, je voulais juste te donner une piste mais titoumimi ta donné la soluce

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 188
    Points : 130
    Points
    130
    Par défaut
    Bha, je sais pas bien ce que je préfère entre le fait qu'on me donne la réponse ou qu'on me mettre sur la piste...

    parce que là, je suis content d'un coté parce que je crois que ça va, mais en faite non, parce que je sais pas comment exploiter cette variable...
    Quand je fais:
    echo $tab_mots;
    Y'a pas d'erreur, mais il me met un Array,...
    et quand je fais un
    echo $tab_mots[1];
    il n'indique une erreur.

    et oui, j'ai commencé y'a pas si longtemps que ça...

    Mais merci, je vais chercher encore un peu.

  6. #6
    Invité
    Invité(e)
    Par défaut
    c t pas mechant ce que je voulais dire
    bref pour le tableau quant tu fais un explode tu indique le separateur et la chaine à traitée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     $ligne= fgets($monfichier);
    $tabl_mots = explode(' ', $ligne);
    dans ton $tabl_mots qui est un tableau tu as donc les elements trouvé dans ligne
    si ta ligne c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    toto tutu alors $tabl_mots[0]=toto et $tabl_mots[1]=tutu
    concernant ton erreur c'est surment du au traitement de la derniere ligne ou tu dois avoir simplement un espace donc aucun element dans ton tableau

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 188
    Points : 130
    Points
    130
    Par défaut
    T'inquiète, je l'ai pas mal pris,

    Ce qui m'inquiète par contre c'est les messages d'erreur du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Notice: Undefined Offset: 1 in fichier.
    quand je demande $tabl_mots[1]
    et
    le pire, c'est que $tabl_mots[0]=tototututata

    Il m'a tout concaténé???
    Et si le fichier commence par un espace, il se passe quoi?

  8. #8
    Membre éclairé
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Points : 858
    Points
    858
    Par défaut
    Que donne...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $tabl_mots = explode(' ', file_get_contents("fichier.txt"));
    echo '<pre>';
    print_r($tabl_mots);
    echo '</pre>';
    C'est des espaces ou des tabulations qu'il y a entre tes mots... .. ?

    Sinon pour traiter ton tableau tu fais... .. .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $tabl_mots = explode(' ', file_get_contents("fichier.txt"));
    $nb_entrees = count($tabl_mots);
     
    for($i=0;$i<$nb_entrees;$i++)
       echo 'Entrée '.$i.' : '.$tabl_mots[$i];
    @ tchaOo°

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 188
    Points : 130
    Points
    130
    Par défaut
    Bon bha y'a effectivement quelquechose de pourri dans mon code;
    j'obtiens le résultats suivant avec la commande de krankelune:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    [0]=>tutu
    [1]=>toto
    [2]=>tata
    ruru
    [3]=>roro
    [4]=>rara
    [5]=>
    [6]=>
    Je pense que je vais tout reprendre depuis le debut. Si j'y arrrive toujours pas, je vous envoye le code entier...

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Février 2006
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 188
    Points : 130
    Points
    130
    Par défaut
    Ouais!!!
    Bon, c'est ok, maintenant tout fonctionne bien.
    J'ai tout repris, et avec les commandes que vous m'avez donné j'ai pu faire comme je le voulais.

    Merci à tous.

    (Pourtant c'était pas un gros problème, mais ça fait tellement plaisir quand ça marche...)

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

Discussions similaires

  1. [Windows]lecture des fichier lnk (raccourcis)
    Par Tiaps dans le forum API standards et tierces
    Réponses: 10
    Dernier message: 21/10/2009, 19h27
  2. [jsp]lecture de fichier
    Par antigone dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 04/09/2003, 11h05
  3. [AS400][Intranet][PC] Lecture de "fichiers" AS400
    Par lando dans le forum Autres SGBD
    Réponses: 4
    Dernier message: 16/07/2003, 11h11
  4. Lecture de fichier
    Par Watcha dans le forum x86 16-bits
    Réponses: 13
    Dernier message: 04/03/2003, 20h43
  5. Lecture de fichiers ".WAV"...
    Par 0x4e84 dans le forum Langage
    Réponses: 2
    Dernier message: 03/09/2002, 09h43

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