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 :

[Tableaux] Récupération des données dans un fichier txt


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 34
    Points : 29
    Points
    29
    Par défaut [Tableaux] Récupération des données dans un fichier txt
    Bonjour ,

    J'ai un petit soucis avec un fichier txt que j'essaye de lire et d'en afficher le contenu .

    le Contenu :

    Name Pid Pri Thd Hnd Priv CPU Time Elapsed Time
    Idle 0 0 1 0 0 0:11:18.015 0:00:00.000
    System 4 8 86 1571 0 0:00:07.093 0:00:00.000
    smss 540 11 3 22 172 0:00:00.031 1:16:46.546
    csrss 604 13 12 814 1848 0:00:10.093 1:16:43.531
    winlogon 680 13 21 266 4380 0:00:00.703 1:16:38.187
    services 724 9 15 296 1772 0:00:58.890 1:16:36.562
    lsass 736 9 18 407 2940 0:00:00.437 1:16:36.531
    svchost 880 8 17 211 3140 0:00:00.046 1:16:34.921
    svchost 936 8 10 310 1828 0:00:07.703 1:16:34.546
    svchost 1000 8 56 1231 12636 0:00:37.515 1:16:34.390
    svchost 1040 8 6 91 2976 0:00:01.812 1:16:34.359


    Le but est de placer chaque données dans une cellule du tableau , le mieux que j'ai réussi a faire c'est de placer chaque ligne dans une cellule .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $result=implode("</td></tr>\n<tr><td>",$result);
    echo '<table border=1><tr><td>'.$result.'</td></tr></table>' ;
    Que me conseiller vous de faire ?

  2. #2
    jnore
    Invité(e)
    Par défaut
    Salut

    Le but serait d'exploser ta chaine de caractère en utilisant les espaces comme séparateur.
    Comme ça tu récupéreras chaque mot dans un array.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $chaine=explode(' ',$ligne_fichier);
    $mot1=$chaine[0];
    $mot2=$chaine[1];
    .......

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 34
    Points : 29
    Points
    29
    Par défaut
    Salut Jnore ,

    Merci de ta réponse, donc après test le résultat n'est pas convaincant vu que le nombre d'éspaces n'est pas constant donc le meilleur résultat que j'ai obtenu c'est avec trois espaces dans le délimiteur, mais malheuresement cela ne m'affiche pas tout, ou parfois me met plusieurs chaines dans la même cellule.

    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
     
    $recup=file('resultat.txt'); 
    echo '<table border=1>';
    for( $i = 1 ; $i < count($recup) ; $i++ )
    {
    $contenu = $recup[$i];
    echo $contenu;
    $chaine=explode('   ',$contenu);
    $mot1=$chaine[0];
    $mot2=$chaine[1];
    $mot3=$chaine[2];
    $mot4=$chaine[3];
    $mot5=$chaine[4];
    $mot6=$chaine[5];
    $mot7=$chaine[6];
    $mot8=$chaine[7];
    echo '<tr><td>'.$mot1.'</td><td>'.$mot2.'</td><td>'.$mot3.'</td><td>'.$mot4.'</td><td>'.$mot5.'</td><td>'.$mot6.'</td><td>'.$mot7.'</td><td>'.$mot8.'</td></tr>';
    }
    echo '</table>';

  4. #4
    Membre averti Avatar de nicocsgamer
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 321
    Points : 342
    Points
    342
    Par défaut
    Tu explode en utilisant " " et dans ton tableau tu supprime les cases dont la valeur est égale à " ".

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 34
    Points : 29
    Points
    29
    Par défaut
    Salut nicocsgamer,

    Je n'ai pas bien compris ce que tu veux dire par la, pourrais tu être plus explicite ?

  6. #6
    Membre averti Avatar de nicocsgamer
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 321
    Points : 342
    Points
    342
    Par défaut
    Oui je peux

    Ce que tu sais c'est tes données sont séparées par des " " mais tu ne sais pas combien. Donc tu utilise la meme technique qu'actuellement, à savoir faire un explode de chaque ligne en utilisant le caractère " ". Seulement quand tu va parcourir ton tableau tu va ignorer les cases dans la valeur est un " ".

    Name Pid
    Idle 0 0

    Tableau -> "idle","0", " ", "0"

    Tu le parcour mais tu ajoute une condition où la valeur doit etre différente de " ".

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 34
    Points : 29
    Points
    29
    Par défaut
    Finalement j'y suis arrivé , merci à tous .

    je met à disposition le code que j'ai utilisé .
    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
     
    $recup=file('resultat.txt'); 
    echo '<table border=1>';
    for( $i = 1 ; $i < count($recup) ; $i++ )
    {
    $contenu = $recup[$i];
     
    $contenu = preg_replace('/\s{2,}/', ' ', $contenu);
     
    $chaine=explode(' ',$contenu);
    $mot1=$chaine[0];
    $mot2=$chaine[1];
    $mot3=$chaine[2];
    $mot4=$chaine[3];
    $mot5=$chaine[4];
    $mot6=$chaine[5];
    $mot7=$chaine[6];
    $mot8=$chaine[7];
    echo '<tr>
              <td>'.$mot1.'</td>
              <td>'.$mot2.'</td>
    		  <td>'.$mot3.'</td>
    		  <td>'.$mot4.'</td>
    		  <td>'.$mot5.'</td>
    		  <td>'.$mot6.'</td>
    		  <td>'.$mot7.'</td>
    		  <td>'.$mot8.'</td>
    		                    </tr>';
     
    }
     
    echo '</table>';

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 11/06/2010, 15h11
  2. Rechercher des données dans un fichier txt
    Par joboy84 dans le forum Langage
    Réponses: 5
    Dernier message: 11/06/2008, 15h00
  3. Récupération des données d'un fichier .txt
    Par vincou dans le forum VB.NET
    Réponses: 3
    Dernier message: 24/07/2007, 10h55
  4. [VBS]Lire des données dans un fichier .txt
    Par kacxial dans le forum VBScript
    Réponses: 4
    Dernier message: 28/02/2007, 13h44
  5. Remplacer / Supprimer des données dans un fichier txt
    Par PedroBD dans le forum Langage
    Réponses: 3
    Dernier message: 03/07/2006, 13h33

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