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 :

Comparer des dossiers sur ftp et enregistrement en BD ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Par défaut Comparer des dossiers sur ftp et enregistrement en BD ?
    Bonjour,

    Je tente de comparer des noms de dossiers enregistrer en BD et des dossiers présent sur mon ftp pour afficher que les dossier qui ne sont pas présent en BD mais ça bugeeeeeeee !!

    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
        <?php
        $adresse = 'photo/';
        $dossierftp = opendir($adresse);
        //on va chercher le nom des dossiers
        $query = mysql_query("SELECT dossier_image FROM MATABLE");
     
        while($page = mysql_fetch_array($query))
        {
        //on va chercher les dossiers sur ftp
           while ($Fichier = readdir($dossierftp))
           { 
              if ($Fichier != "." && $Fichier != ".." && $Fichier != $page['dossier_image'])
              {
                 echo 'Dossier à effacer : '.$Fichier.'<br/>';
              }
           }
        }
        closedir($dossierftp); //Fermeture du dossier.
        ?>
    Mon code affiche tout les dossiers au lieu de m'afficher que les dossiers en trop .. pourquoi ?

    Si j'inverse les boucles, je n'ai plus rien..

    Merci

  2. #2
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Par défaut
    J'insiste un peut pour obtenir une réponse ...

    Si je 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
    16
    17
    18
    19
    20
    21
    22
    23
        <?php
        $adresse = 'photo/';
        $dossierftp = opendir($adresse);
        //on va chercher le nom des dossiers
        $query = mysql_query("SELECT dossier_image FROM MATABLE");
     
        //on va chercher les dossiers sur ftp
           while ($Fichier = readdir($dossierftp))
           {
            while($page = mysql_fetch_array($query))
            {
              if ($Fichier != "." && $Fichier != ".." && $Fichier != $page['dossier_image'])
              {
                 echo 'Dossier à effacer : '.$Fichier.'<br/>';
              }
             else
             {
             echo 'Dossier à effacer : '.$Fichier.'<br/>';
             }
           }
        }
        closedir($dossierftp); //Fermeture du dossier.
        ?>
    J'ai un gros kedal.

    Si j'inverse les 2 boucles, c'est le "echo" du "if" qui renvoie tout les dossiers sans exceptions.

    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
        <?php
        $adresse = 'photo/';
        $dossierftp = opendir($adresse);
     
        $query = mysql_query("SELECT dossier_image FROM MATABLE");
     
        while($page = mysql_fetch_array($query))
        {
            while ($Fichier = readdir($dossierftp))
            {
                if ($Fichier != "." && $Fichier != ".." && $Fichier != $page['dossier_image'])
                {
                    echo 'Dossier à effacer : '.$Fichier.'<br/>';
                }
                else
                {
                    echo 'Dossier à effacer : '.$Fichier.'<br/>';
                }
            }
        }
        closedir($dossierftp);
        ?>
    Dans les 2 cas, le "else" ne renvoie rien et le "if" ne me renvoie pas ce que j'attends !

    Le champ "dossier_image" est un champ de type INT(10) qui enregistre le timestamp du moment. Mes dossiers portent donc comme nom le timestamp du moment ou il sont créés.

    J'ai beau tout contrôler et re contrôler ... je ni pige rien ... je ne vois pas pourquoi ça cloche.

    Un surdoué du PHP de passage dans le coin ne serait pas de refus.

    Merci

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    faut d'hab faire la liste des dossier en ensuite la comparer

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Par défaut
    C'est ce que fais mon premier code, non ??

    La première boucle va chercher les dossiers puis la seconde va chercher les noms en BD..puis je compare.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        //on va chercher les dossiers sur ftp
           while ($Fichier = readdir($dossierftp))
           {
       //on va chercher les dossiers en bd
            while($page = mysql_fetch_array($query))
            {
       //on compare
              if ( ...

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par tryan Voir le message
    C'est ce que fais mon premier code, non ??

    La première boucle va chercher les dossiers puis la seconde va chercher les noms en BD..puis je compare.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        //on va chercher les dossiers sur ftp
           while ($Fichier = readdir($dossierftp))
           {
       //on va chercher les dossiers en bd
            while($page = mysql_fetch_array($query))
            {
       //on compare
              if ( ...
    non c'est pas ce que tu fais
    a chaque fichier tu vas chercher le résultat suivant de la requete...

  6. #6
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Par défaut
    Bon et bien là je sèche complètement .. j'ai retourné le code dans tout les sens et mon résultat est toujours le même...
    Il y a un truc qui m'échappe et je ne sais pas ce que c'est !

    Quelle est la solution alors ?

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par tryan Voir le message
    C'est ce que fais mon premier code, non ??

    La première boucle va chercher les dossiers puis la seconde va chercher les noms en BD..puis je compare.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        //on va chercher les dossiers sur ftp
           while ($Fichier = readdir($dossierftp))
           {
       //on va chercher les dossiers en bd
            while($page = mysql_fetch_array($query))
            {
       //on compare
              if ( ...
    non c'est pas ce que tu fais
    a chaque fichier tu vas chercher les résultat requete...
    sauf qu'a parti du 2eme fichier ca rentre pu dans le while de la requete puisque t'a pris tout les résultat au tour de boucle précédant

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

Discussions similaires

  1. Déplacer des dossiers sur un ftp
    Par aurelien36 dans le forum Langage
    Réponses: 1
    Dernier message: 05/11/2009, 08h52
  2. [FTP] Suppression automatique des fichiers sur FTP
    Par thomcat dans le forum Langage
    Réponses: 3
    Dernier message: 06/01/2009, 17h52
  3. Comment comparer des fichiers sur Windows?
    Par programmerPhil dans le forum Autres Logiciels
    Réponses: 9
    Dernier message: 22/02/2006, 21h47
  4. Réponses: 2
    Dernier message: 20/01/2006, 18h08
  5. Garder la mise en forme des dossiers sur un CD
    Par tibodoudou dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 19/12/2005, 17h42

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