Ordre in-alphabétique avec readdir

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 : Ordre in-alphabétique avec readdir

Re: Ordre in-alphabétique avec readdir

par Clément » 31 mai 2011, 22:45

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

Re: Ordre in-alphabétique avec readdir

par moogli » 31 mai 2011, 20:07

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 ;)


@+

Ordre in-alphabétique avec readdir

par Clément » 31 mai 2011, 19:23

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 :)