mettre les images de mon script par ordre alphabetique
12 messages
• Page 1 sur 1
-

spidermas - WRInaute occasionnel

- Messages: 263
- Inscription: 10 Jan 2005
mettre les images de mon script par ordre alphabetique
bonjour a tous
Le but de se script est d'afficher une image aleatoire pour chaque dossier contenue sur le serveur
se bout de code appartient à une galerie que je suis en train de faire.
Le probleme etant que je n'arrive pas a placer mon natsort afin que les dossiers representés par une image aleatoire soit mis par ordre alphabetique
merci d'assayer de m'aider a regler se probleme
Le but de se script est d'afficher une image aleatoire pour chaque dossier contenue sur le serveur
se bout de code appartient à une galerie que je suis en train de faire.
Le probleme etant que je n'arrive pas a placer mon natsort afin que les dossiers representés par une image aleatoire soit mis par ordre alphabetique
merci d'assayer de m'aider a regler se probleme
- Code: Tout sélectionner
<?
$adresse="./";
$dossier= opendir($adresse);
while ($Fichier = readdir($dossier))
{
if ($Fichier != "." && $Fichier != ".." && $Fichier != "templates" && $Fichier != "images" && $Fichier != "_images" && $Fichier != "commentaires" && $Fichier != "votes" && $Fichier != "basic" && $Fichier != "test" && is_dir($Fichier)) // Filtre anti-point !
{
$ordre[] = $Fichier;
$imgpath = "$Fichier/miniatures/"; // chemins des images
$textalter = "$Fichier"; // texte alternatif de l'image (attribut alt)
$urlplop = "$Fichier.html";
$max_caracteres=14;
$textalter2 = "$textalter";
// Test si la longueur du texte dépasse la limite
if (strlen($textalter2)>$max_caracteres)
{
// Séléction du maximum de caractères
$textalter2 = substr($textalter2, 0, $max_caracteres);
// Ajout des "..."
$textalter2 = $textalter2."...";
}
$nodir = 0;
if ($imgpath == ".." || $imgpath == "." || $imgpath == "")
{
$nodir = 1;
$imgpath = ".";
}
$j = strlen($imgpath);
$j--;
if ($imgpath[$j] != '/' && $imgpath != ".")
$imgpath .= '/';
if (is_dir($imgpath))
{
if ($condir = opendir($imgpath))
{
$i = 0;
while (($curfile = readdir($condir)) != false)
{
$extension = "";
$extension = preg_replace("/.+\.(.{3,4})/", "$1", $curfile);
if ($extension == "png" || $extension == "gif" || $extension == "bmp" || $extension == "jpeg" || $extension == "jpg")
{
$i++;
$images{$i} = $curfile;
}
}
natsort ($ordre);
if ($images{1} == "")
{
echo "Aucunes images dans le dossier !";
}
else
{
$i = rand(1, $i);
$image = $images{$i};
{
echo "
<div class=\"float\"><a href=\"".$urlplop."\"><img src=\"";
if ($nodir != 1)
echo $imgpath;
echo "".$image."\" alt=\"".$textalter."\" width=106 height=80 border=0 />
<p>".ucfirst($textalter2)."</p><a/></div>";
}
}
}
else
{
echo "
<a href=\"".$urlplop."\"><img src=\"http://www.wallpapers-fond-ecran.info/blanc.jpg\" alt=\"galerie\" width=\"106\" height=\"80\" border=\"0\" /></a>
";
}
}
else
{
echo "<div class=\"float\">
<a href=\"".$urlplop."\"><img src=\"http://www.wallpapers-fond-ecran.info/blanc.jpg\" alt=\"galerie\" width=\"106\" height=\"80\" border=\"0\" /><p>".$textalter2."</p><a/></div>
";
}
}
}
closedir($dossier);
?>
-

KOogar - WRInaute accro

- Messages: 3974
- Inscription: 16 Nov 2004
tu dois mettre le resultat dans un tableau et ensuite lister le tableau
print_r("$ListFiles");
print_r("$ListFiles");
- Code: Tout sélectionner
// tri par ordre decroissant
$list_tri = 'DESC';
if(count($ListFiles)!=0) {
if($list_tri == 'DESC') {
rsort($ListFiles);
}
else {
sort($ListFiles);
}
}
-

spidermas - WRInaute occasionnel

- Messages: 263
- Inscription: 10 Jan 2005
j'ai essayer de modif avec array mais sa affiche en boucle le meme repertoire
par exemple si j'ai 5 repertoires a b c d e
a l'affichage j'ai 5 fois le repertoire e
voila le nouveau code si quelqu'un peut m'aider je suis preneur
par exemple si j'ai 5 repertoires a b c d e
a l'affichage j'ai 5 fois le repertoire e
voila le nouveau code si quelqu'un peut m'aider je suis preneur
- Code: Tout sélectionner
<?
$plopabc = array();
$adresse="./";
$dossier= opendir($adresse);
$list_tri = 'DESC';
while ($Fichier = readdir($dossier))
{
if ($Fichier != "." && $Fichier != ".." && $Fichier != "templates" && $Fichier != "images" && $Fichier != "_images" && $Fichier != "commentaires" && $Fichier != "votes" && $Fichier != "basic" && $Fichier != "test" && is_dir($Fichier)) // Filtre anti-point !
{
$plopabc[] = $Fichier;
natsort($plopabc);
foreach($plopabc as $vac)
$imgpath = "$vac/miniatures/"; // chemins des images
$textalter = "$vac"; // texte alternatif de l'image (attribut alt)
$urlplop = "$vac.html";
$max_caracteres=14;
$textalter2 = "$textalter";
// Test si la longueur du texte dépasse la limite
if (strlen($textalter2)>$max_caracteres)
{
// Séléction du maximum de caractères
$textalter2 = substr($textalter2, 0, $max_caracteres);
// Ajout des "..."
$textalter2 = $textalter2."...";
}
/*
+--------------+
| Programme |
+--------------+
*/
$nodir = 0;
if ($imgpath == ".." || $imgpath == "." || $imgpath == "")
{
$nodir = 1;
$imgpath = ".";
}
$j = strlen($imgpath);
$j--;
if ($imgpath[$j] != '/' && $imgpath != ".")
$imgpath .= '/';
if (is_dir($imgpath))
{
if ($condir = opendir($imgpath))
{
$i = 0;
while (($curfile = readdir($condir)) != false)
{
$extension = "";
$extension = preg_replace("/.+\.(.{3,4})/", "$1", $curfile);
if ($extension == "png" || $extension == "gif" || $extension == "bmp" || $extension == "jpeg" || $extension == "jpg")
{
$i++;
$images{$i} = $curfile;
}
}
if ($images{1} == "")
{
echo "Aucunes images dans le dossier !";
}
else
{
$i = rand(1, $i);
$image = $images{$i};
{
echo "
<div class=\"float\"><a href=\"".$urlplop."\"><img src=\"";
if ($nodir != 1)
echo $imgpath;
echo "".$image."\" alt=\"".$textalter."\" width=106 height=80 border=0 />
<p>".ucfirst($textalter2)."</p><a/></div>";
}
}
}
else
{
echo "
<a href=\"".$urlplop."\"><img src=\"http://www.wallpapers-fond-ecran.info/blanc.jpg\" alt=\"galerie\" width=\"106\" height=\"80\" border=\"0\" /></a>
";
}
}
else
{
echo "<div class=\"float\">
<a href=\"".$urlplop."\"><img src=\"http://www.wallpapers-fond-ecran.info/blanc.jpg\" alt=\"galerie\" width=\"106\" height=\"80\" border=\"0\" /><p>".$textalter2."</p><a/></div>
";
}
}
}
closedir($dossier);
?>
-

KOogar - WRInaute accro

- Messages: 3974
- Inscription: 16 Nov 2004
stocke proprement le resultat de ton code dans un tableau.
au lieu de faire des sorties écran (echo) tu stockes:
$tableau[] = $images{$i};
tu test -> print_r()
car c'est à partir de ce tableau que tu pourras reconstruire ta sortie écran. Les fonctions sur les tableaux sont multiples.
au lieu de faire des sorties écran (echo) tu stockes:
$tableau[] = $images{$i};
tu test -> print_r()
car c'est à partir de ce tableau que tu pourras reconstruire ta sortie écran. Les fonctions sur les tableaux sont multiples.
-

spidermas - WRInaute occasionnel

- Messages: 263
- Inscription: 10 Jan 2005
ok je vais voir se que je peut faire avec un tableau mais le probleme se situe au niveau de l'affichage des repertoires qui sont representés par une image
en effet, si il y a 5 dossiers nommés a b c d e, seul le premier sera affiché 5 fois
en gros je me retrouve avc 5 fois le dossier a au lieu d'un de chaque
en effet, si il y a 5 dossiers nommés a b c d e, seul le premier sera affiché 5 fois
en gros je me retrouve avc 5 fois le dossier a au lieu d'un de chaque
-

UsagiYojimbo - WRInaute accro

- Messages: 8575
- Inscription: 23 Nov 2005
spidermas a écrit:à quel niveau et dans quel interet ?
Pour récupérer la liste de tes images de manière plus simple
-

spidermas - WRInaute occasionnel

- Messages: 263
- Inscription: 10 Jan 2005
c'est la liste des repertoires que je cherche a ranger par ordre alphabetique
quoiqu'il en soit la j'avance un peu j'ai juste un leger probleme imcomprehesible
j'explique :
$Fichier etant la liste des repertoires
ce bout de code affiche a a a a a
ce bout de code affiche a b c d e dans le desordre
question : pourquoi le natsort ne fonctionne t-il pas ?
quoiqu'il en soit la j'avance un peu j'ai juste un leger probleme imcomprehesible
j'explique :
$Fichier etant la liste des repertoires
ce bout de code affiche a a a a a
- Code: Tout sélectionner
$rien[] = $Fichier;
natsort($rien);
foreach ($rien as $rien2);
print("$rien2");
ce bout de code affiche a b c d e dans le desordre
- Code: Tout sélectionner
$rien[] = $Fichier;
foreach ($rien as $rien2);
print("$rien2");
question : pourquoi le natsort ne fonctionne t-il pas ?
12 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- ordre alphabetique repertoire question
- Classer les billet dotclear par ordre alphabétique
- [Script] Ordre aleatoire
- Ordre de chargement des images dans des calques
- ou mettre le script??
- mettre une date d'expiration de cache sur des images
- Comment faire pour ne pas mettre les images publicitaires?
- test1 ordre des mots-clé et ordre des requetes
- Mettre le script dans un fichier Java
- Un script PHP gourmand que j'aimerais mettre au régime
- Ajouter un Gadget Google sur son site - 04-10-2006
- Les albums web Picasa passent à 1 Go de stockage - 08-03-2007
- Google Chrome dépasse Safari aux USA - 29-06-2010
- Google Pack s'enrichit de 2 nouveaux logiciels gratuits - 28-03-2007
- AdSense Tracking : statistiques détaillées sur les clics AdSense - 29-02-2004
- Photos satellite des incendies en Grèce dans Google Earth - 30-08-2007
- Google Desktop pour Mac OS X - 05-04-2007
- Moteur de recherche dans les blogs de Google - 24-01-2007
Consultez la description détaillée des produits ou services de Google suivants : Google Directory
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

