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 :

Recuperer les resultats de chiffres qui sont uniquement les memes dans deux fichiers different


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut Recuperer les resultats de chiffres qui sont uniquement les memes dans deux fichiers different
    Bonjour a tous, je debute en PHP.

    Avec ce type de code j'envois les resultat dans deux fichier txt different:
    ( ce sont des chiffres),
    678
    678-789-45-234
    345-67-456
    456-78-245-67
    456-78-245-67

    Voici le code pour un seul fichier txt, (c'est le meme que pour l'autre fichier txt mais adapté ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $recup = $_POST['Nodeparcours'];   
         $fp = fopen("Historiqueside1.txt","a");  // si le fichier n'existe pas on le crée avec le mode de lecture a, et on l'ouvre, ici on cree un nouveau fichier du nom de styl.css a l'aide du mode a
            fputs($fp, "\r\n");    
            fputs($fp, "$recup"); 
    fclose($fp);
    Ce que je voudrais c'est pouvoir recuperer seulement les chiffres qui sont exactement les memes dans les deux fichiers txt, et je ne sais pas si c'est possible en php, de plus je ne vois pas comment faire.

    J'y suis depuis plusieurs jours, et je ne sais pas comment faire...

    Je remercie d'avance ceux qui m'aideront.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    qu'est ce que tu veux dire par "les chiffres qui sont exactement les mêmes" ?
    c'est la ligne complète "678-789-45-234" qui doit se trouver dans l'autre fichier ou juste les nombres "678", "789", "45" ou "234" ?

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut
    Bonjour, et merci pour ton aide.

    C'est juste les nombres, pas la ligne complete.

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faut que tu sois plus précis dans ton besoin.
    Tu veux conserver la mises en forme ? tirets ? retours à la ligne ? positions ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut
    Bonjour,
    non pas besoin de mise en forme, juste que le programme me mette de coté les chiffres qui sont des doublons.

  6. #6
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $a = '678
    678-789-45-234
    345-67-456';
     
    $b = '456-78-245-67
    456-78-245-67';
     
    preg_match_all('#\d+#' , $a, $output_a);
    preg_match_all('#\d+#' , $b, $output_b);
     
    var_dump(array_intersect($output_a[0], $output_b[0]));
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut
    Je n'ai pas encore verifié le code, mais je dois signaler que les nombres sont dans un fichier txt, comment je fais pour les recuperer?
    desolé pour mon manque de savoir.

  8. #8
    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
    Dans le code que tu nous montres, le texte vient de POST pas d'un fichier.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut
    Je n'ai pas assez precisé, le code envois les chiffres qui sont stockés dans un fichier txt,

    C'est cela que je voudrais recuperer, ( avec un explode ) pour enlever des tirets - .
    Il y aura plusieurs lignes.

  10. #10
    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
    Je ne vois pas pourquoi tu nous as mis ce code s'il n'a pas de rapport avec ton problème.
    Bref utilise file_get_contents() pour recuperer le contenu du fichier.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $doublon = file_get_contents('Nodeparcourside1.txt');
    echo $doublon;
    ?>


    Voila, avec ce code j'obtient ceci :
    678 678 678 678-789-45-234 345-67-456 345-67-456 345-67-456 345-67-456 456-78-245-67 456-78-245-67 456-78-245-67 456-78-245-67 456-78-245-67 456-78-245-67 456-78-245-67 456 456 456 456 456 456 456 456 456 456 456 456


    il faudrait retirer les doublons et les mettre dans un autre fichier qui me signalerait s'il y a des doublons.

    Attention ces chiffres peuvent etre totalement differents selon les rentrées, et il peut y en avoir plus ou moins.

  12. #12
    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
    Tu pensais que file_get_content() lisait un fichier et le comparait avec un autre fichier dont il devinait le nom et retournait les éléments commun ? Tu crois trop en l'intelligence artificielle

    cette fonction c'est seulement pour lire le fichier, il faut coupler avec le code que j'ai déjà ecris pour toi.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tu pensais que file_get_content() lisait un fichier et le comparait avec un autre fichier dont il devinait le nom et retournait les éléments commun ? Tu crois trop en l'intelligence artificielle

    cette fonction c'est seulement pour lire le fichier,
    Oui je le sais.

    Citation Envoyé par sabotage Voir le message
    il faut coupler avec le code que j'ai déjà ecris pour toi.
    Là par contre je sais bien moins le faire.


    Voila le code:
    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
     
    <?php
    $doublonside1 = file_get_contents('Nodeparcourside1.txt');
     
      $doublonside1 = '678
    678-789-45-234
    345-67-456';
     
      $doublonside2 = '456-78-245-67
    456-78-245-67';
     
      preg_match_all('#\d+#' , $doublonside1, $output_a);
      preg_match_all('#\d+#' , $doublonside2, $output_b);
     
    var_dump(array_intersect($output_a[0], $output_b[0])); 
    ?>
    Voila ce que m'affiche le resultat de ce code:

    array (size=2)
    6 => string '67' (length=2)
    7 => string '456' (length=3)

    Pris dans le fichier contenant ceci:

    678
    678
    678
    678-789-45-234
    345-67-456
    345-67-456
    345-67-456
    345-67-456
    456-78-245-67
    456-78-245-67
    456-78-245-67
    456-78-245-67
    456-78-245-67
    456-78-245-67
    456-78-245-67
    456
    456


    J'ai essayé d' ouvrir deux fichiers, en ajoutant une nouvelle ligne avec file_get_contents(), mais ca marche pas.

    Ex:
    da

    Je precise que ces type nombres ( non fixe), sont dans deux fichier different, et pas dans un seul.

    Là ca compare les chiffres d'un seul fichier entre eux, ce que je voudrais c'est que ca compare les nombres des deux fichiers entre eux, et non l'interieur de chaque fichiers, je sais pas si j'explique suffisamment bien.

  14. #14
    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
    La tu exageres...
    A quoi correspondent les lignes 5 et 9 ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut
    J'avais fait un essais pour avoir les deux fichiers different, je vois que j'ai pas compris.

    Comme le code compare les nombre du meme fichier, j'avais essayer d'ouvrir le 2 deuxieme fichier ( pas plus), en modifiant les variables:

    ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $doublon = file_get_contents('Nodeparcourside1.txt');
     
    $doublonside1 = '678 678-789-45-234 345-67-456';
     
    $doublonside2 = '456-78-245-67 456-78-245-67';
     
    preg_match_all('#\d+#' , $doublonside1, $output_a);
    preg_match_all('#\d+#' , $doublonside2, $output_b);
     
    var_dump(array_intersect($output_a[0], $output_b[0]));
     
    ?>
    J'avais pense utilisé la variable modifié pour l'utiliser ailleurs, ce code me fait le meme resultat qu'avec l'ancienne variable, c'est juste que je m'y retrouve mieux dans mes fichiers.


    Le probleme c'est que le code me compare uniquement un seul fichier txt, or il me faudrait qu'il compare les deux fichiers different entre eux, sur les nombres.

  16. #16
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut
    J'avais lu un peu vite le code:
    j'ai refait le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php// Code pour rechercher les doublons dans un fichier
    $a = file_get_contents('Nodeparcourside1.txt');
     
    $a = '678 678-789-45-234 345-67-456';
     
    $b = '456-78-245-67 456-78-245-67';
     
    preg_match_all('#\d+#' , $a, $output_a);
    preg_match_all('#\d+#' , $b, $output_b);
     
    var_dump(array_intersect($output_a[0], $output_b[0])); 
    ?>

    Par contre j'ai plus aucun chiffres d'annoncés, est ce normal ?

  17. #17
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par Patr77 Voir le message
    J'avais lu un peu vite le code:
    j'ai refait le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php// Code pour rechercher les doublons dans un fichier
    $a = file_get_contents('Nodeparcourside1.txt');
     
    $a = '678 678-789-45-234 345-67-456';
     
    $b = '456-78-245-67 456-78-245-67';
     
    preg_match_all('#\d+#' , $a, $output_a);
    preg_match_all('#\d+#' , $b, $output_b);
     
    var_dump(array_intersect($output_a[0], $output_b[0])); 
    ?>

    Par contre j'ai plus aucun chiffres d'annoncés, est ce normal ?
    J'ai remis les lignes 5 et 9 ( pour le message plus haut, correspondant a 4 et 6 dans ce message) sur une seule ligne pour terminer l'intruction par ;

    Desolé la fatigue.

    Est ce que le code est bien mis ?

  18. #18
    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
    Non mais c'est quoi ces lignes 4 et 6 serieusement ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  19. #19
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut
    là je doute, a part le fait que j'ai relevé que la ligne n'etait pas terminé par ;
    je vois pas plus que deux variable avec des numero, (de plus je pensais que ces numero etait pris par le programme)....

    Je debute pas mal donc une precision serait la bienvenu, svp.


    Je vois pas plus.

  20. #20
    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
    Et tu ne demandes pas pourquoi il y a des numéros dans le code ?
    Ces lignes c'était juste pour l'exemple sans fichier.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/12/2012, 09h41
  2. Réponses: 7
    Dernier message: 05/08/2010, 18h42
  3. Réponses: 6
    Dernier message: 15/05/2008, 15h20
  4. Réponses: 7
    Dernier message: 27/07/2006, 23h09

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