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 :

Exclusion de noms de dossiers pour liste de fichiers


Sujet :

Langage PHP

  1. #1
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut Exclusion de noms de dossiers pour liste de fichiers
    Bonjour, j'ai ce code::

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php 
    $directories = glob(getcwd()."/Gal_Meilleur/Gal_Lettrages/*",GLOB_ONLYDIR); 
    foreach ($directories as $dir) { 
    if ($dir != 'Objets' && $dir != 'img' && $dir != 'notes') { 
       $dir_2 = str_replace('/home/lunnatic/www/', 'http://www.lunnatick.fr/', $dir);
       $dir_3 = str_replace('/home/lunnatic/www/Gal_Meilleur/Gal_Lettrages/', '', $dir);
       $dir_4 = str_replace('_', '  ', $dir_3);
    echo '<a href="'.$dir_2.'/index.php"><span class="a1">'.$dir_4.'</span></a> &nbsp; &nbsp;'; 
    } 
    }   
    ?>
    La ligne ci-dessous devrait exclure du listage le dossier "notes" mais il est quand même lister:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($dir != 'Objets' && $dir != 'img' && $dir != 'notes') {
    Que dois-je faire ?

  2. #2
    Expert confirmé
    Avatar de TiranusKBX
    Homme Profil pro
    Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Inscrit en
    Avril 2013
    Messages
    1 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur C, C++, C#, Python, PHP, HTML, JS, Laravel, Vue.js
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 1 476
    Points : 4 805
    Points
    4 805
    Billets dans le blog
    6
    Par défaut
    essaye avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($dir != 'Objets' && $dir != dirname(__FILE__).'/img' && $dir != dirname(__FILE__).'/notes') {
    Rien, je n'ai plus rien de pertinent à ajouter

  3. #3
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Merci mais cela ne fonctionne toujours pas.

  4. #4
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    $dir ne doit pas s'appelé "notes" exactement.

    Debug le pour en être sur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach ($directories as $dir) { var_dump($dir); //...
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  5. #5
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Même avec "var_dump($dir); " je vois le fichier notes

  6. #6
    Membre habitué
    Homme Profil pro
    Collégien
    Inscrit en
    Septembre 2014
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : Nouvelle-Zélande

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Septembre 2014
    Messages : 65
    Points : 158
    Points
    158
    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
    13
    14
    15
    <?php
    	$racine = __DIR__."/Gal_Meilleur/Gal_Lettrages/";
    	$directories = glob($racine."*",GLOB_ONLYDIR);
    	echo "<pre>";
    	print_r($directories);
    	echo "</pre>";
    	foreach ($directories as $dir) 
    	{ 
    		if ($dir != $racine.'Objets' && $dir != $racine.'img' && $dir != $racine.'notes') 
    		{ 
    			echo $dir;
    			echo "<br />";
    		} 
    	}   
    ?>
    Le problème est que dans ta comparaison tu ne prends pas en compte le fait que $directories contient le chemin absolu et non pas juste le nom du répertoire.

  7. #7
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Même avec "var_dump($dir); " je vois le fichier notes
    $dir vaut EXACTEMENT 'notes' à un moment donné ?
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  8. #8
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Il vaut le chemin qui mène au dossier notes

  9. #9
    Membre expert
    Avatar de Spartacusply
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    1 723
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2011
    Messages : 1 723
    Points : 3 274
    Points
    3 274
    Par défaut
    Donc il ne vaut pas 'notes', ce qui fait que c'est tout à fait normal qu'il rentre dans le if...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '/var/chemin/notes.php' est différent de 'notes' !
    Un message utile vous a aidé ? N'oubliez pas le

    www.simplifions.fr - Simplifier vos comptes entre amis !

  10. #10
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    AH mais bon sens, que c'est bien sur, je vais essayer de résoudre ca tout seul et je revient dire

  11. #11
    Débutant  
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Points : 2 415
    Points
    2 415
    Par défaut
    Donc voici le code complet qui fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php 
    $directories = glob(getcwd()."/Gal_Meilleur/Gal_Lettrages/*",GLOB_ONLYDIR); 
    foreach ($directories as $dir) { 
       $dir_2 = str_replace('/home/lunnatic/www/', 'http://www.lunnatick.fr/', $dir);
       $dir_3 = str_replace('/home/lunnatic/www/Gal_Meilleur/Gal_Lettrages/', '', $dir);
       $dir_4 = str_replace('_', '  ', $dir_3);
    if ($dir_4 != 'Objets' && $dir_4 !='img' && $dir_3 !='_notes') {
    echo '<a href="'.$dir_2.'/index.php"><span class="a1">'.$dir_4.'</span></a> &nbsp; &nbsp;'; 
    } 
    }   
    ?>
    Merci beaucoup de ton aide

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 17/02/2014, 10h28
  2. Choisir un dossier pour l´enregistrement des Fichier
    Par Mjama dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 11/10/2010, 11h06
  3. Fonction pour rechercher un nom précis dans une liste
    Par regimari dans le forum wxPython
    Réponses: 4
    Dernier message: 04/12/2009, 19h59
  4. Réponses: 3
    Dernier message: 10/03/2008, 22h04
  5. Problème pour liste répertoires/fichiers
    Par pymouse dans le forum C
    Réponses: 1
    Dernier message: 15/12/2006, 11h45

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