|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre actif
![]() Inscription : avril 2007 Messages : 483 ![]() |
bonjour,
Je travaille sous unix, et j'ai comme projet de monter une appli web interne a l'entreprise. Dans mon travail j'ai besoin de lister les répertoires non cachés (dont le nom ne commence donc pas par un point) dans une page html, je passe donc par le php pour cela. J'ai tout d'abord récupéré la liste des fichiers et dossiers du répertoire courant, puis à l'aide de la fonction is_dir(), j'affiche uniquement les dossiers. J'ai ensuite un test pour ne pas afficher les dossiers de retour '.' et '..' Par contre, je n'arrive pas à enlever de l'affichage les dossiers cachés. J'ai essayé les fonctions ereg et preg_match mais aucune des deux ne semblent fonctionner. Je les ai essayé de la façon suivante : Code :
J'utilise cette fonction comme ceci : Merci de m'éclairer si vous avez des idées |
||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Inscription : janvier 2007 Messages : 1 452 ![]() |
Code :
|
||
|
|
00
|
|
|
#3 | ||
|
Membre actif
![]() Inscription : avril 2007 Messages : 483 ![]() |
Il me retourne false à chaque fois ...
J'ai essayé le code suivant : Code :
par contre si j'enlève la vérif is_dir, je vois bien apparaitre tous les fichiers et dossiers du répertoire souhaité. Hier ce code marchait bien, mais j'avais modifié pour essayer autre chose et depuis que j'ai remis ca ne passe plus et je ne sais pas pourquoi les dossiers ne s'affichent plus ... Merci de votre aide |
||
|
|
00
|
|
|
#4 |
|
Membre actif
![]() Inscription : avril 2007 Messages : 483 ![]() |
j'ai trouvé mon pb, en fait je faisais un ls sur le répertoire courant alors que je voulais lister le répertoire précédent j'ai donc modifié la commande 'ls' en 'ls ..'
|
|
|
00
|
|
|
#5 |
|
Membre actif
![]() Inscription : avril 2007 Messages : 483 ![]() |
Ben en fait cette commande marche qu'à moitié, elle fait bien la liste des fichiers/dossiers du répertoire précédent mais le test is_dir renvoie false à chaque fois ce qui fait que je n'ai rien dans ma liste
Quelqu'un a-t-il une idée ? Merci d'avance |
|
|
00
|
|
|
#6 | ||||
|
Expert Confirmé
![]() ![]() Inscription : mars 2006 Messages : 1 989 ![]() |
En utilisant la méthode de départ, pour ne pas afficher les dossiers cachés, pourquoi ne pas faire simplement quelque chose comme :
Code :
Code :
|
||||
|
|
00
|
|
|
#7 |
|
Membre actif
![]() Inscription : avril 2007 Messages : 483 ![]() |
Je n'utilise plus cette méthode car les seuls répertoires qu'il reconnait sont '.' et '..'
En gros, si je ne fais pas le test du is_dir avec cette façon de faire, je vois qu'il récupère bien la liste de tous les fichiers et dossiers, et si je veux épurer pour n'avoir que les dossiers (test du is_dir sur chacun) il ne me reste plus que les dossiers de retour mais je ne vois pas pourquoi |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() ![]() Inscription : janvier 2004 Messages : 1 238 ![]() |
attention, quand tu fait un is_dir, tu dois lui passer le nom du fichier/dossier... préfixé par le nom du dossier que tu as utilisé pour obtenir la liste des fichiers/dossiers !
Dans ton cas donc, préfixé par ..
__________________
PHP : Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production) Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error()); Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable. Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/ |
|
|
00
|
|
|
#9 | ||
|
Expert Confirmé
![]() ![]() Inscription : mars 2006 Messages : 1 989 ![]() |
Citation:
Citation:
|
||
|
|
00
|
|
|
#10 |
|
Membre actif
![]() Inscription : avril 2007 Messages : 483 ![]() |
Effectivement, cela marche !
Je n'avais pas pensé qu'il testait le nom du fichier dans le répertoire courant. Merci beaucoup |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com