mettre les images de mon script par ordre alphabetique
12 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
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);
?>
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);
}
}
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);
?>
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.
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: 5173
- Inscription: Mer Nov 23, 2005 10:38
spidermas a écrit:à quel niveau et dans quel interet ?
Pour récupérer la liste de tes images de manière plus simple
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
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Ajouter un Gadget Google sur son site
- Les albums web Picasa passent à 1 Go de stockage
- Google Pack s'enrichit de 2 nouveaux logiciels gratuits
- AdSense Tracking : statistiques détaillées sur les clics AdSense
- Photos satellite des incendies en Grèce dans Google Earth
- Google Desktop pour Mac OS X
- Moteur de recherche dans les blogs de Google
- Picasa Web Albums en français
- Le positionnement d'annonces AdSense : explications
- Résultats des élections présidentielles du 1er tour 2007
Consultez la description détaillée des produits ou services de Google suivants : Google Directory, Google Images, Hello, Google Image Labeler
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités





le forum