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 :

Supprimer les doublons dans un fichie texte


Sujet :

Langage PHP

  1. #1
    Débutant Avatar de VIRGINIE87
    Femme Profil pro
    Sans Emploi
    Inscrit en
    Avril 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Sans Emploi

    Informations forums :
    Inscription : Avril 2006
    Messages : 286
    Points : 72
    Points
    72
    Par défaut Supprimer les doublons dans un fichie texte
    slt à tous,
    J'ai récupéré le le nom des images (actuellement 16 images) contenu d'un fichier images dans un fichier texte, mais le soucis est à chaque fois que je reactualise ma page php il me rajoute les 16 même images à la suite des autres.
    donc comment dois-je m'y prendre.
    voila ce que j'ai déja fais :
    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
    // élimine les doublons du fichier texte
    $keywords = 'donnees.txt'; // fichier
    $f = fopen($keywords, 'a+'); // lecture écriture
    $liste_sans_doublons = array();
    foreach ( $liste_sans_doublons as $valeur ) {
      if ( !in_array($valeur,$liste_sans_doublons) ) {
        array_push($liste_sans_doublons,$valeur);
      }
    }
    $max = count($liste_sans_doublons);
    $i = 0; 
    while ( $i < $max ) {
      echo ($liste_sans_doublons[$i]) . '<br />';
      $i++;
    }
    mais je n'obtient pas le résultat voulu ?
    quelqu'un peut il me dire quelles sont mes erreurs?
    merci

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Erreur 1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $liste_sans_doublons = array();
    foreach ( $liste_sans_doublons as $valeur ) {
    Etant donné que tu viens d'initialiser ta variable comme un tableau vide, il n'y a rien a parcourir.

    Erreur 2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $max = count($liste_sans_doublons);
    $i = 0; 
    while ( $i < $max ) {
    Par parcourir un tableau, on utilise foreach()

    Erreur 3 :
    Ce n'est pas au moment de l'affichage qu'il faut empecher les doublons, c'est quand tu crées ton fichier.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Débutant Avatar de VIRGINIE87
    Femme Profil pro
    Sans Emploi
    Inscrit en
    Avril 2006
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Sans Emploi

    Informations forums :
    Inscription : Avril 2006
    Messages : 286
    Points : 72
    Points
    72
    Par défaut
    ok je prend compte des tes remarques.
    ca y es j'ai la solution pour controler les doublons lors de l'écriture du fichier texte.
    voici 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
    <?php
    $fichier2 = 'donnees.txt'; // fichier texte
    $tab = array_map('trim', file($fichier2));
    $f = fopen($fichier2, 'a+'); // lecture écriture
    $dossier2 = 'H:\Wamp\wamp\www\images\min';
    if($dossier = opendir($dossier2)){ // si le dossier recherché existe
     while(false !== ($fichier = readdir($dossier))){ // on lit les fichiers du dossier
      if($fichier != '.' && $fichier != '..' && $fichier != 'Thumbs.db' AND !in_array($fichier, $tab)){ // on ne traite pas ces fichiers
       fwrite($f, $fichier."\n"); // on enregistre à la fin
      }
     } // on termine la boucle
     closedir($dossier); // on ferme le dossier
    } 
    fclose($f); // on ferme
    ?

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

Discussions similaires

  1. supprimer les doublons dans une table
    Par mavean dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 26/06/2019, 13h26
  2. Supprimer les doublons dans un vecteur
    Par ecthelion dans le forum Collection et Stream
    Réponses: 11
    Dernier message: 30/11/2007, 09h27
  3. Vérifier les doublons dans un fichier texte
    Par Shyboy dans le forum Langage
    Réponses: 2
    Dernier message: 11/07/2007, 09h34
  4. [vbexcel]Comment supprimer les doublons dans une combobox?
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 24/11/2005, 11h12

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