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 :

Récupérer une partie de données d'un fichier texte


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 10
    Points : 8
    Points
    8
    Par défaut Récupérer une partie de données d'un fichier texte
    Bonjour,
    Je travaille sur script qui lit un fichier et récupère quelques données de ce fichier.
    Je veux récupérer les données qui sont entre
    [partie resultat] et [partie traitement] pour que je puisse ensuite les mes mettre dans un tableaux et les afficher.
    Mon problème c'est que je suis débutante en Php et je connais pas une fonction qui me permet d'extraire ces données.
    Pouvez-vous m'aider Merci.
    voilà un exemple de mon fichier:
    [Informations sur le contexte d'exécution]
    NUMERO: 1458962
    PROJECT: monde
    MACHINE: teg_125
    [partie resultat]
    -100 57.55
    -103 57.56
    -104 57.56
    -105 57.55
    -106 57.52
    -107 57.48
    -108 57.41
    -109 57.44
    -110 57.35
    -111 57.31
    -112 57.25

    [partie traitement]
    VALEUR1 : dhdg
    VALEUR02 : hjdgd

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Voici à l'arrach, peut mieux faire, mais cela fonctionne sur le jeux de tests.

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    <?php
     
    //J'ouvre mon fichier
    $monfichier = fopen('test.txt', 'r+');
    //je prépare mon tableau
    $info = [];
    //tant que je suis à false je ne récupère pas les données
    $boucle = false;
     
    //je boucle dans mon fichier
    while($ligne = fgets($monfichier)){
     
     
        //si la ligne correspond à mon top départ des infos que je dois récuperer je met à true
        // Le trim est pour enlever les espaces, il y en a dans l'exemple donnée.
        if('[partie resultat]' == trim($ligne)){
            $boucle = true;
        }
     
        //si je suis à true alors je peux récupérer les infos
        if($boucle === true){
     
            //si je suis en les deux partie rechercher je récupère la ligne
            if(trim($ligne) !== '[partie traitement]' && trim($ligne) !== '[partie resultat]') {
                $info[] = $ligne;
            //je suis dans la ligne de fin, alors je sort de la boucle puisque j'ai plus rien à y faire
            }elseif(trim($ligne) === '[partie traitement]'){
     
                break;
            }
        }
    };
     
    //affiche les infos que j'ai récupéré
    var_dump($info);
     
    // Quand on a fini de l'utiliser, on ferme le fichier
    fclose($monfichier);

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    je vous remercie MaitrePylos, ton code a résolu mon problème .

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2014
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    @MaitrePylos j'ai une autre question.

    à la fin de la boucle While j'aurai un tableau $info rempli de mes info, maintenant je veux prendre ce tableau le lire ligne par ligne , pour que je puisse le diviser en 2 colonnes $p, $f pour pouvoir ensuite avoir
    $p[o]=-100 , $p[1]=-103 , $f[o]=57.55 , $p[1]= 57.56, ........ex
    car je vais les insérer après dans ma tables de base de données qui contient les deux champs:
    p et f .

    j'ai essayé d'utiliser la fonction explode pour séparer les deux valeurs et les mettre dans des variables mais ça n'a pas marché.


    Voici ce que j'ai fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     foreach($info as $line){
                List($p, $f) = explode("  ", $line); 
    			echo $p;
                            echo $f;
                }

    Merci.

  5. #5
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Comme je ne continuerais pas trop à faire ton taf, je te conseille la lecture suivante : http://sylvie-vauthier.developpez.co...rand-debutant/

    Ensuite, je viens de tester ton code et tu y est presque, il y a en tout cas un espace de trop dans ton explode et ensuite tes variables doivent êtres des tableaux

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

Discussions similaires

  1. [Débutant] Extraire une partie des données d'un fichier à deux colonnes.
    Par NoobTotal dans le forum MATLAB
    Réponses: 3
    Dernier message: 07/12/2011, 17h15
  2. Récupérer une partie du mot d'un fichier
    Par user2000 dans le forum Android
    Réponses: 1
    Dernier message: 13/04/2011, 17h32
  3. Récupérer une partie d'un nom de fichier
    Par ben_harper dans le forum Scripts/Batch
    Réponses: 7
    Dernier message: 25/06/2008, 07h19
  4. Réponses: 4
    Dernier message: 27/09/2007, 15h05
  5. [VBA]Récupérer une partie du chemin d'un fichier
    Par poivre dans le forum VBA Access
    Réponses: 1
    Dernier message: 12/04/2007, 19h34

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