Comparer des dossiers sur ftp et enregistrement en BD ?

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par tryan, 16 Octobre 2010.

Tags:
  1. tryan
    tryan WRInaute passionné
    Inscrit:
    20 Février 2005
    Messages:
    2 229
    J'aime reçus:
    0
    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:
    <?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 ?

    Merci
     
  2. halbo
    halbo Nouveau WRInaute
    Inscrit:
    18 Août 2010
    Messages:
    27
    J'aime reçus:
    0
    Bonjour,

    Je pense qu'il faut inverser tes deux boucles.
    D'abord le while sur tes dossiers. Pour chaque dossier, tu vérifies s'il existe dans la base. Si non, tu l'affiches.

    A+
    Alain
     
  3. tryan
    tryan WRInaute passionné
    Inscrit:
    20 Février 2005
    Messages:
    2 229
    J'aime reçus:
    0
    Salut halbo,

    En inversant les boucles, je n'ai plus rien du tout ... je ne pige pas!
     
  4. halbo
    halbo Nouveau WRInaute
    Inscrit:
    18 Août 2010
    Messages:
    27
    J'aime reçus:
    0
    Bonjour,

    Tu peux remettre dans le forum le code après inversion des boucles ?

    A+
    Alain
     
  5. tryan
    tryan WRInaute passionné
    Inscrit:
    20 Février 2005
    Messages:
    2 229
    J'aime reçus:
    0
    Salut,

    Code:
    <?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/>';
          }
       }
    }
    closedir($dossierftp); //Fermeture du dossier.
    ?>
     
  6. halbo
    halbo Nouveau WRInaute
    Inscrit:
    18 Août 2010
    Messages:
    27
    J'aime reçus:
    0
    Hello,

    Ajoute un peu de code pour débugger et voir ce qui ne va pas.
    Par exemple, avant le "if", affiche les variables :

    Code:
    echo $Fichier;
    echo $page['dossier_image']
    
    ou encore var_dump $page; pour afficher tout le tableau.

    Complète aussi ta boucle if avec un else et ajoute une phrase qui s'affiche quand la condition du if n'est pas réalisée. Par exemple "Le fichier existe".

    A+
    Alain
     
  7. tryan
    tryan WRInaute passionné
    Inscrit:
    20 Février 2005
    Messages:
    2 229
    J'aime reçus:
    0
    Dans le code juste au dessus et juste avant le "if", un "echo $page['dossier_image']" est ok, par contre un "echo $Fichier;" n'affiche rien.
     
  8. halbo
    halbo Nouveau WRInaute
    Inscrit:
    18 Août 2010
    Messages:
    27
    J'aime reçus:
    0
    Ok, donc il faut sans doute revoir ta variable $adresse.
    Par exemple, essaye avec une adresse complète depuis la racine de ton hébergement.
    Un truc du genre /var/www/html/d123456/htdocs/photo/
    A voir selon ton hébergeur.

    A+
    Alain
     
  9. tryan
    tryan WRInaute passionné
    Inscrit:
    20 Février 2005
    Messages:
    2 229
    J'aime reçus:
    0
    Je te remercie de me donner réponse :).

    Je viens d'essayer avec le chemin absolu et ça ne change rien. A partir du moment ou les boucles sont imbriquées, ça ne fonctionne pas!
    Par contre, l'une au dessus de l'autre m'affiche tout correctement mais séparément .. j'y pige plus rien.
     
  10. halbo
    halbo Nouveau WRInaute
    Inscrit:
    18 Août 2010
    Messages:
    27
    J'aime reçus:
    0
    Gasp, bizarre effectivement.
    Tu as essayé avec un "else", juste pour voir si le script entre dans cette boucle ou pas ?

    A+
    Alain
     
  11. tryan
    tryan WRInaute passionné
    Inscrit:
    20 Février 2005
    Messages:
    2 229
    J'aime reçus:
    0
    Si je fais :
    Code:
    <?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:
    <?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 8O !

    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.
     
  12. halbo
    halbo Nouveau WRInaute
    Inscrit:
    18 Août 2010
    Messages:
    27
    J'aime reçus:
    0
    Trop bizarre ;-)

    Et en remplaçant les boucles while par des boucles foreach ?

    A+
    Alain
     
Chargement...
Similar Threads - Comparer dossiers ftp Forum Date
Comparer une variable dans IF Développement d'un site Web ou d'une appli mobile 25 Mars 2022
Comparer un array avec plusieurs valeurs Développement d'un site Web ou d'une appli mobile 19 Novembre 2021
Comparer le nombre de visiteur qui viennent de Google.fr et Google.com Débuter en référencement 2 Février 2017
Comment comparer les offres de référencement? Débuter en référencement 29 Janvier 2015
Extraire un fichier robots.txt et comparer le résultat Développement d'un site Web ou d'une appli mobile 12 Juillet 2014
Est-il légal de se comparer à ses concurrents en leur faisant sa la mauvaise pub ? Droit du web (juridique, fiscalité...) 30 Mai 2013
Se comparer avec un concurrent ? Droit du web (juridique, fiscalité...) 27 Avril 2013
Quels outils pour comparer le référencement entre deux sites ? Débuter en référencement 25 Avril 2013
Comparer Pages vues/Entrées google Google Analytics 15 Octobre 2012
Comment se calcule le CPC. Comparer avec la concurrence. AdWords 10 Juin 2012
Tester, comparer les performances d'un VPS, VDS, cloud et dédié Administration d'un site Web 21 Juin 2011
comparer l’audience de deux mots clef Débuter en référencement 6 Février 2011
Comparer les performances des annonces / mots clés AdWords 3 Septembre 2010
Comparer Google Analytics et Awstats Google Analytics 9 Juin 2010
Comparer l'extension d'une url avec un tableau Développement d'un site Web ou d'une appli mobile 13 Janvier 2010
problème pour comparer les statistiques de certaines pages seulement Google Analytics 5 Novembre 2009
comparer les résultats de Google vs Bing Référencement Bing 2 Juin 2009
[logiciel] comparer et suivre son positionnement Demandes d'avis et de conseils sur vos sites 3 Octobre 2008
Comparer des dates fichier txt et base de donné Développement d'un site Web ou d'une appli mobile 12 Mars 2008
Nouveauté Analytics: comparer plusieurs analyses sur 1 graph Google Analytics 13 Décembre 2007