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éarranger un fichier [PHP 5.3]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 7
    Par défaut Réarranger un fichier
    Bonjour,

    Voici mon prob. j'ai un fichier rempli de ligne :

    eu27200068 2000 68 false 2054981 2466498 eu27
    eu27200069 2000 69 false 2053237 2516033 eu27
    eu27200070 2000 70 false 1918216 2404517 eu27
    eu27200070 2000 70 false : : eu27

    eu27200071 2000 71 false 1844149 2367007 eu27
    eu27200072 2000 72 false 1710705 2276420 eu27
    eu27200073 2000 73 false 1615765 2260011 eu27
    eu27200074 2000 74 false 1526711 2227812 eu27
    eu27200075 2000 75 false 1397386 2133395 eu27
    eu27200076 2000 76 false 1306225 2057659 eu27
    eu27200077 2000 77 false 1221904 1991219 eu27
    eu27200078 2000 78 false 1144542 1929437 eu27
    eu27200079 2000 79 false 1046685 1815309 eu27
    eu27200080 2000 80 false 755645 1352198 eu27
    eu27200080 2000 80 false : : eu27


    j'aimerai donc faire une comparaison ligne à ligne de ce fichier pour qu' à chaque fois que je me retrouve avec 2 ages identiques la variable bool false devient true et donner ainsi

    eu27200068 2000 68 false 2054981 2466498 eu27
    eu27200069 2000 69 false 2053237 2516033 eu27
    eu27200070 2000 70 false 1918216 2404517 eu27
    eu27200070 2000 70 true : : eu27

    eu27200071 2000 71 false 1844149 2367007 eu27
    eu27200072 2000 72 false 1710705 2276420 eu27
    eu27200073 2000 73 false 1615765 2260011 eu27
    eu27200074 2000 74 false 1526711 2227812 eu27
    eu27200075 2000 75 false 1397386 2133395 eu27
    eu27200076 2000 76 false 1306225 2057659 eu27
    eu27200077 2000 77 false 1221904 1991219 eu27
    eu27200078 2000 78 false 1144542 1929437 eu27
    eu27200079 2000 79 false 1046685 1815309 eu27
    eu27200080 2000 80 false 755645 1352198 eu27
    eu27200080 2000 80 true : : eu27


    Pouvez-vous m'aider?

  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
    Par défaut
    Est-ce que les lignes identiques se suivent toujours ?

    Est-ce que tu dois vraiment le faire en PHP (c'est bcps plus simple de manipuler ça avec un tableur) ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 7
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Est-ce que les lignes identiques se suivent toujours ?

    Est-ce que tu dois vraiment le faire en PHP (c'est bcps plus simple de manipuler ça avec un tableur) ?
    oui les lignes avec un age identique se suivent toujours. Et oui je suis obligé de le faire en php !!

  4. #4
    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
    Par défaut
    Tu as juste alors a lire ton fichier ligne par ligne et a comparer l'information en cours avec celle que tu as lu la ligne d'avant.
    Si elles sont différentes, tu conserves la ligne tel quel, si elles sont indentiques, tu ré-ecris la ligne avec ta modification.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    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
    Dis moi si je me trompe, mais ton problème revient à remplacer "false" par "true" dans les lignes ou tu as ": :" ?

    Si c'est le cas ca devient nettement plus simple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    $string= str_replace('false : :','true : :',file_get_contents('tonfichier.extension'));
     
    ?>

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 7
    Par défaut
    Citation Envoyé par francoisIT Voir le message
    Dis moi si je me trompe, mais ton problème revient à remplacer "false" par "true" dans les lignes ou tu as ": :" ?

    Si c'est le cas ca devient nettement plus simple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    $string= str_replace('false : :','true : :',file_get_contents('tonfichier.extension'));
     
    ?>
    non il peut y avoir des nombres à la place

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 7
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tu as juste alors a lire ton fichier ligne par ligne et a comparer l'information en cours avec celle que tu as lu la ligne d'avant.
    Si elles sont différentes, tu conserves la ligne tel quel, si elles sont indentiques, tu ré-ecris la ligne avec ta modification.
    eu27200070 2000 70 false 1918216 2404517 eu27
    eu27200070 2000 70 false : : eu27

    Je suis désolé j'ai dû mal me faire comprendre mais en fait les lignes ne sont pas exactement identique. On peut dire que pour chaque ligne un champ est séparé par un \t et vous voyez que seul le 1er et 3e champ est identique soit
    eu27200070 et 70 donc il faudrait que je fasse la comparaison sur un de ces champs avec ce même champs sur la ligne suivante.
    Esr ce que vous me comprenez ?

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

Discussions similaires

  1. fichier mappé en mémoire
    Par WinBernardo dans le forum Delphi
    Réponses: 7
    Dernier message: 01/12/2006, 10h38
  2. Réponses: 5
    Dernier message: 20/08/2002, 19h01
  3. Lire 1 bit d'un fichier en C
    Par Anonymous dans le forum C
    Réponses: 3
    Dernier message: 23/05/2002, 19h31
  4. Comparer des fichiers de données : Quel Langage ?
    Par Anonymous dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 24/04/2002, 23h37
  5. Fichier PDOXUSRS.NET
    Par yannick dans le forum Paradox
    Réponses: 5
    Dernier message: 05/04/2002, 10h45

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