Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2781 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU] lister un répertoire dans l'ordre alphabétique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] lister un répertoire dans l'ordre alphabétique

n°1705164
cbastien41
Posté le 20-03-2008 à 10:43:14  profilanswer
 

j'arrive sans problème à lister le contenu d'un répertoire, mais j'ai besoin que celui-ci soit dans l'ordre alphabétique
pour faciliter cette tache les fichiers portent un chiffre au début du style
1-fichierA
2-fichierB
3-fichierC
...
 
pour faire cela les noms des fichiers sont intégrés dans un tableau et je fais un tri du tableau avec NATSORT(), cela fonctionne, mais pas complétement car les fichiers portant le numéro 12, 14 et 30 ne sont pas à leur place !!!  :pt1cable:  
 
pourquoi eux ? je ne comprend absolument pas pourquoi
 
voici le script :
<?php
$dp = opendir($rep);  
 
  $i=0;  
  while ( $file = readdir($dp) )  
  {  
    // enleve les fichiers . et ..  
    if ($file != '.' && $file != '..')  
    {  
            // on passe les datas dans un tableau  
            $ListFiles[$i]=$file;  
            $i++;  
    }  
 }  
  closedir($dp);  
 
natsort($ListFiles);
 
  $i=0;  
  while ( $i < count($ListFiles))  
  {  
      echo $ListFiles[$i].'<br>';  
      $i++;  
  }
?>


Message édité par cbastien41 le 20-03-2008 à 14:31:50
mood
Publicité
Posté le 20-03-2008 à 10:43:14  profilanswer
 

n°1705201
soju
One shot !
Posté le 20-03-2008 à 11:05:33  profilanswer
 

montre nous un exemple de résultat
 
PS: tu pourrais réduire ton code en quelques lignes, avec glob, join...etc

n°1705240
cbastien41
Posté le 20-03-2008 à 11:46:06  profilanswer
 

voir le résultat ci-dessous
le 7, 12, 14, 22 et le 30 ne sont pas à leur place !
 
1-MODE_d_EMPLOI_CIE.pdf
2-Bon_de_commande.pdf
3-RESERVATION_CENTER_PARCS.pdf
4-REMISES_SUR_CARTE_CIE.pdf
5-AFFICHES_INFOS_CLUB_Mars.pdf
6-LOCATION_MOBIL-HOME2.pdf
8-PROMO_ASTERIX.pdf
9-PROMO_ASTERIX_2.pdf
7-OFFRE_PRIVILEGE_remise_carte_Mars.pdf
10-PROMO_DISNEY_2JRS-2PARCS.pdf
11-PRINTEMPS_BOURGES- 2008.pdf
13-spectacles_Le_Mans_Mars08.pdf
15-ASTROLABE-Espace_G_SAND.pdf
16-24H_DU_MANS.pdf
16-24H_DU_MANS_MOTO.pdf
17-GPFrance_MOTO.pdf
12-Spectacles_Chateauroux_Mars08.pdf
14-Espace_Culturel_MALRAUX_Tours.pdf
18-FORMULE_1_Magny-Cours.pdf
19-BONS_ACHATS.pdf
20-BELAMBRA_Club.pdf
21-GERARD_PONS_VOYAGES.pdf
23-sejours_disney.pdf
22-FICHE_INSCRIPTION_VOYAGES_GERARD_PONS.pdf
26-AMBIANCE_SAFARI.pdf
27-BALADE_CHAMPETRE_EN_VOITURE_ANCIENNE.pdf
28-CUISINE_AVEC_CHEF_ET_RANDO_KAYAK.pdf
29-ESCAPADE_A_BARCELONE.pdf
31-RANDO_ANE_BATE_DANS_LE_MARAIS_POITEVIN.pdf
30-LA_SEVRE_TIPI_QUEMENT_NATURE.pdf
32-SEJOUR_A_BORD_D_UN_VIEUX_GREEMENT.pdf
33-SEJOUR_NOMADE.pdf
34-WEEK-END_DECOUVERTE_DU_NORD_BEAUJOLAIS_EN_BUGGY.pdf

n°1705246
skeye
Posté le 20-03-2008 à 11:54:21  profilanswer
 

Je sais pas si c'est lié, mais les commentaires de la doc disent que ça ne fonctionne pas bien quand il y a des underscores...[:joce]


Message édité par skeye le 20-03-2008 à 11:54:27

---------------
Can't buy what I want because it's free -
n°1705260
cbastien41
Posté le 20-03-2008 à 12:07:03  profilanswer
 

ah bon !
mais il y a des underscores sur quasiment tous les fichiers, alors pourquoi çà ne fait que sur certains
de plus comme il y a des chiffres au début des noms, cela devrait s'ordonnait par ces chiffres

n°1705267
skeye
Posté le 20-03-2008 à 12:11:35  profilanswer
 

cbastien41 a écrit :

ah bon !
mais il y a des underscores sur quasiment tous les fichiers, alors pourquoi çà ne fait que sur certains
de plus comme il y a des chiffres au début des noms, cela devrait s'ordonnait par ces chiffres


J'en sais rien moi, mais le tri naturel c'est un poil complexe hein.
Vu le format de tes trucs autant faire ta fonction de tri à la main en fonction des chiffres présents avant le tiret...


---------------
Can't buy what I want because it's free -
n°1705370
cbastien41
Posté le 20-03-2008 à 14:31:23  profilanswer
 

bizaare comme bug, mais cela est lié à l'utilsation de chiffre en début de nom
 
j'ai résolu mon problème en utilisant  
usort($ListFiles,"strnatcmp" );
 
merci
++


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [RESOLU] lister un répertoire dans l'ordre alphabétique

 

Sujets relatifs
[résolu] liens vers requetes SQL[JS] (redimensionnement d'éléments) lock de sélection
[resolu(erreur de noob)]Probleme "segment fault"Upload de fichier + création de répertoire: Erreur d'Array !!?
[resolu]problème alignement...[resolu] 1 clic, 2 ou plusieurs cibles ouvertes
[Résolu] Problème de syntaxe?[Resolu]Probleme quote dans input
[C,C++] Désactiver warning (Résolu)[Résolu] Redirection htaccess index.php vers index.php?page=
Plus de sujets relatifs à : [RESOLU] lister un répertoire dans l'ordre alphabétique


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR