Tri d'une liste d'un répertoire [Résolu]

Gardeboue 43 Messages postés mardi 9 mai 2017Date d'inscription 7 février 2018 Dernière intervention - 27 janv. 2018 à 14:34 - Dernière réponse : Gardeboue 43 Messages postés mardi 9 mai 2017Date d'inscription 7 février 2018 Dernière intervention
- 29 janv. 2018 à 15:59
Bien le Bonjour,

Voilà après moulte recherches et essais je n'arrive pas à trier alpha numériquement ma liste du contenu de mon répertoire upload.

Mon php
<?php


$rep ='upload/';
$files = array(); // initialisation du tableau
if (!is_dir ($rep)) {
    echo 'Erreur, ', $dir,' n\'est pas un repertoire valide';
    exit;
}
$dir = opendir ($rep);
        while (false !== ($fichier = readdir ($dir))) {// Lecture de chaque entrée
			
            if ($fichier !== '..' && $fichier !== '.' && $fichier != ".BridgeSort") {
			$files[] = $fichier;// Mise en tableau du contenu
                echo '<option value="',$fichier,'">',$fichier,'</option>';
				
            }
        }
sort($files);
print_r($files);
closedir($dir);
?>




Afficher la suite 

15 réponses

Répondre au sujet
yg_be 4603 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 14 février 2018 Dernière intervention - 27 janv. 2018 à 16:49
+2
Utile
14
bonjour, "je n'arrive pas"=?
message d'erreur, résultat inattendu, ?
merci de donner des informations factuelles.
jordane45 19962 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 14 février 2018 Dernière intervention > Gardeboue 43 Messages postés mardi 9 mai 2017Date d'inscription 7 février 2018 Dernière intervention - 29 janv. 2018 à 00:12
Tu affiches le code source de ta page html ( CTRL + U en général dans ton navigateur) puis tu le colles ici.
Et sinon.. au pire... vu que tu l'as déjà prévu... il suffit de nous coller le contenu du résultat de ton
print_r($files);
Gardeboue 43 Messages postés mardi 9 mai 2017Date d'inscription 7 février 2018 Dernière intervention - 29 janv. 2018 à 08:20
Salut à vous,

voilà je vous colle le contenu de la page, j'ai mis quelques fichier pdf et JPG pour essais dans le répertoire et on voit bien que le tri ne s'opère pas.
Je précise que le print_r () ne sert à rien dans mon code (je l'ai d'ailleurs supprimé) vu que j'affiche la liste dans une liste déroulante.
<!doctype html>

  
      <div id='Text2'>
         <p style="line-height:0;text-align:center"><font face="Arial"><span style="font-size:12pt;line-height:18px;"><b>Télécharger un fichier depuis le site</b></span></font></p>
      </div>
      <div id='ObjWeb2'>
      <form method="post" action="telechargement.php">
<select name="listeDir">
</form>
<option value="IMG_4946.jpg">IMG_4946.jpg</option><option value="tarifs_bleu_pro.pdf">tarifs_bleu_pro.pdf</option><option value="ERIS 2013.pdf">ERIS 2013.pdf</option><option value="moteurs asynchrones bi vitesses[1].pdf">moteurs asynchrones bi vitesses[1].pdf</option><option value="Catalogue-URA-2013.pdf">Catalogue-URA-2013.pdf</option><option value="Général câble.pdf">Général câble.pdf</option><option value="doc compteur de velo cateye.pdf">doc compteur de velo cateye.pdf</option><option value="newcap PA II-ssCP.pdf">newcap PA II-ssCP.pdf</option><option value="Entrelec.pdf">Entrelec.pdf</option><option value="IMG_4941.jpg">IMG_4941.jpg</option><option value="weidmuller.pdf">weidmuller.pdf</option><option value="Couleur des câbles.pdf">Couleur des câbles.pdf</option><option value="Manchon Helavia.pdf">Manchon Helavia.pdf</option><option value="Bâche table.pdf">Bâche table.pdf</option><option value="power one prix 2009.pdf">power one prix 2009.pdf</option><option value="Crownline 270.pdf">Crownline 270.pdf</option><br />
<b>Warning</b>:  closedir() expects parameter 1 to be resource, string given in <b>/htdocs/download.php</b> on line <b>27</b><br />

</select>
<form method="post" action="telechargement.php"><br/>
<br />
<input type="submit" name="telecharger" value="Télécharger le fichier" />
<input type="submit" name="supprimer" value="Supprimer le fichier" onclick="if(window.confirm('Voulez-vous vraiment supprimer le fichier?')){return true;}else{return false;}"/>

</form>






      </div>
   </div>
   <script type="text/javascript" src="./coffre-fort.js"></script>
   <noscript></noscript>
</div>
</body>
</html>



Merci à vous
yg_be 4603 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 14 février 2018 Dernière intervention > Gardeboue 43 Messages postés mardi 9 mai 2017Date d'inscription 7 février 2018 Dernière intervention - 29 janv. 2018 à 09:38
tu affiches la liste avant de l'avoir triée...
suggestion:
 while (false !== ($fichier = readdir ($dir))) {// Lecture de chaque entrée
            if ($fichier !== '..' && $fichier !== '.' && $fichier != ".BridgeSort") {
   $files[] = $fichier;// Mise en tableau du contenu
            }
}
closedir($rep);
sort($files);
foreach ($files as $file){
    echo '<option value="',$file,'">',$file,'</option>';
}
Gardeboue 43 Messages postés mardi 9 mai 2017Date d'inscription 7 février 2018 Dernière intervention - 29 janv. 2018 à 10:08
J'avais essayé de mettre le sort() avant l'echo mais sans résultat
Gardeboue 43 Messages postés mardi 9 mai 2017Date d'inscription 7 février 2018 Dernière intervention - 29 janv. 2018 à 15:59
Bonne suggestion... voir même très bonne.
Je peux classer l'affaire
Un grand merci à toi
Commenter la réponse de yg_be