Menu

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

Gardeboue 45 Messages postés mardi 9 mai 2017Date d'inscription 30 avril 2018 Dernière intervention - 27 janv. 2018 à 14:34 - Dernière réponse : Gardeboue 45 Messages postés mardi 9 mai 2017Date d'inscription 30 avril 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 

Votre réponse

15 réponses

yg_be 5595 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 21 mai 2018 Dernière intervention - 27 janv. 2018 à 16:49
+2
Utile
bonjour, "je n'arrive pas"=?
message d'erreur, résultat inattendu, ?
merci de donner des informations factuelles.
Cette réponse vous a-t-elle aidé ?  
jordane45 21080 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 21 mai 2018 Dernière intervention > Gardeboue 45 Messages postés mardi 9 mai 2017Date d'inscription 30 avril 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 45 Messages postés mardi 9 mai 2017Date d'inscription 30 avril 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 5595 Messages postés lundi 9 juin 2008Date d'inscriptionContributeurStatut 21 mai 2018 Dernière intervention > Gardeboue 45 Messages postés mardi 9 mai 2017Date d'inscription 30 avril 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 45 Messages postés mardi 9 mai 2017Date d'inscription 30 avril 2018 Dernière intervention - 29 janv. 2018 à 10:08
J'avais essayé de mettre le sort() avant l'echo mais sans résultat
Gardeboue 45 Messages postés mardi 9 mai 2017Date d'inscription 30 avril 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