[Script] Problème au niveau de l'affichage par ordre alphabé

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [Script] Problème au niveau de l'affichage par ordre alphabé

Re: [Script] Problème au niveau de l'affichage par ordre alphabé

par AB » 16 août 2009, 19:56

Salut !!

Voila, je vous expose un petit problème que je rencontre en se moment.

Je voudrais afficher le contenu d'un dossier qui contient des images, j'y suis arriver, mais pas par ordre alphabétique, je penser que la fonction sort() trier justement par ordre alphabétique, mais en fait je crois qu'elle trie simplement en fonction de l'affichage des fichiers dans le dossier sur le serveur.

J'ai donc chercher une autre fonction, natcasesort() me semblez la mieux, mais sans fausse erreur, je pense que natcasesort() trie les fichiers quand ils ont un titre numérique(exemple: doubleur1.png; doubleur2.png)
Voila, je ne sais pas si je me suis bien exprimé. :s

Sinon, voici le script:
<?php include('haut_page.php');
	$i = 0;
	echo '<center>';
	if($handle = opendir('images/doubleurs')) {
	while ($false != ($file = readdir($handle))) {
		$ListFiles[$i]=$file;
		$i++;
		}
	closedir($handle);
	if (count($ListFiles)!=0) {
		ksort($ListFiles);
		}
	$i = 0;
	while ($i < count($ListFiles)) {
		echo '<img src="images/doubleurs/'.$ListFiles[$i].'" /><br />';
		$i++;
		}
	}
	echo '</center>';
	include('bas_page.php'); ?>
Voila, je vous remercie d'avance et vous souhaite une excellente journée ! :)
Là, en l'occurrence tu ne trie rien du tout puisque tu utilises ksort qui trie un tableau suivant ses clés, et dans ton code les clés sont crées par incrémentation de $i, elle sont donc forcément ordonnées dans l'ordre où elles sont lues dans le dossier.

On peut faire comme ceci :
 
  $dossier = 'images/doubleurs';

  $ListFiles = array();

  if($handle = opendir($dossier)) 
 {

  while ($fichier = readdir($handle)) 
      {
      if ($fichier != "." && $fichier != "..") $ListFiles[] = $fichier;
      }

  closedir($handle);

  natcasesort($ListFiles);
 }


//...

if (count($ListFiles) > 0)
{ 
   echo '<div style="text-align:center">';

   foreach($ListFiles as $files) echo '<img src="'.$dossier.'/'.$files.'" /><br />';

   echo '</div>';
}

[Script] Problème au niveau de l'affichage par ordre alphabé

par Relik » 16 août 2009, 17:57

Salut !!

Voila, je vous expose un petit problème que je rencontre en se moment.

Je voudrais afficher le contenu d'un dossier qui contient des images, j'y suis arriver, mais pas par ordre alphabétique, je penser que la fonction sort() trier justement par ordre alphabétique, mais en fait je crois qu'elle trie simplement en fonction de l'affichage des fichiers dans le dossier sur le serveur.

J'ai donc chercher une autre fonction, natcasesort() me semblez la mieux, mais sans fausse erreur, je pense que natcasesort() trie les fichiers quand ils ont un titre numérique(exemple: doubleur1.png; doubleur2.png)
Voila, je ne sais pas si je me suis bien exprimé. :s

Sinon, voici le script:

Code : Tout sélectionner

<?php include('haut_page.php'); $i = 0; echo '<center>'; if($handle = opendir('images/doubleurs')) { while ($false != ($file = readdir($handle))) { $ListFiles[$i]=$file; $i++; } closedir($handle); if (count($ListFiles)!=0) { ksort($ListFiles); } $i = 0; while ($i < count($ListFiles)) { echo '<img src="images/doubleurs/'.$ListFiles[$i].'" /><br />'; $i++; } } echo '</center>'; include('bas_page.php'); ?>
Voila, je vous remercie d'avance et vous souhaite une excellente journée ! :)