Page 1 sur 1

Ordre in-alphabétique avec readdir

Posté : 31 mai 2011, 19:23
par Clément
Bonjour, j'ai un script avec la fonction readdir pour afficher toutes les images d'un dossier. Quand je teste le script, tout marche parfaitement, mais les images sont affichées dans l'ordre alphabétique.
Je voudrais savoir comment faire pour que mes images soient affichées dans l'ordre inverse de l'alphabet.

Voici moi script :
<?php
$urlphoto = "http://monsite.fr/creation"; // url du fichier qui contient les images

$nomRepertoire = "creation"; // nom du répertoire qui contient les images
if (is_dir($nomRepertoire))
	{
	$dossier = opendir($nomRepertoire);
	while ($Fichier = readdir($dossier))
	{
	if ($Fichier != "." AND $Fichier != ".." AND (stristr($Fichier,'.gif') OR stristr($Fichier,'.jpg') OR stristr($Fichier,'.png') OR stristr($Fichier,'.bmp')))
		{
		echo '<a target="_blank" href="', $urlphoto, '/',$Fichier, '">';
		echo '<img src="', $urlphoto, '/',$Fichier, '">';
		echo ' alt="creation de membre"</a>&nbsp;';
		}
	}    
	closedir($dossier);
	}
	else
		{
		echo' Le répertoire spécifié n\'existe pas';
		}
?>
Merci d'avance, Clément :)

Re: Ordre in-alphabétique avec readdir

Posté : 31 mai 2011, 20:07
par moogli
salut,

le plus simple est de mettre tous les éléments dans un tableau et ensuite d'utiliser array_reverse et tu fait l'affichage avec foreach ;)


@+

Re: Ordre in-alphabétique avec readdir

Posté : 31 mai 2011, 22:45
par Clément
Merci, tu m'as mis sur la voie :
J'ai trouvé un script que j'ai adapté à mes besoins
<?php
$dir_nom = 'creation'; // dossier listé
$dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); // ouvre le contenu du dossier
$fichier= array(); // déclare le tableau contenant le nom des fichiers

while($element = readdir($dir)) {
	if($element != '.' && $element != '..') {
		if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;}
		else {$dossier[] = $element;}
	}
}
closedir($dir);

if(!empty($fichier)){
	rsort($fichier); // sort=tri croissant, rsort=tri décroissant
		foreach($fichier as $lien) {
			echo "<a href=\"$dir_nom/$lien \"><img src=\"$dir_nom/$lien \" alt=\"creation de membre\" /></a>";
		}
 }
?>
Merci encore ! :D