Problème avec l'affichage d'images...

Petit nouveau ! | 2 Messages

16 mars 2009, 21:15

Bonjour, voilà mon problème, j'ai un dossier qui contient plusieurs photos et je l'ai affiche grace à ce code:




<?php
// url du fichier qui contient les images
$urlphoto = "photos/Accueil/";

// nom du répertoire qui contient les images
$nomRepertoire = "photos/Accueil/Miniatures/";
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')))
{
// Hauteur de toutes les images

echo '<a target="_blank" href="', $urlphoto, '/',$Fichier, '">';
echo '<img src="', $urlphoto, '/',$Fichier, '" ';
echo "width=108 height=144";
echo "</a>&nbsp;";
}
}
closedir($dossier);
}else{
echo' Le répertoire spécifié n\'existe pas';
}
?>


le soucis c'est que je voudrais qu'après toutes les 5 photos par exemple, les 5 suivantes soient mises en dessous. Pouvez-vous m'aider. D'avance merci

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

16 mars 2009, 22:41

Modération :
yannick.duponchel, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ


Pour répondre à ta question, il suffit de forcer le retour à la ligne tous les 5 éléments en collant un <br /> par exemple. Quant à la façon de savoir quand est ce que tu en es à 5 éléments, il te suffit d'un simple compteur et l'opérateur modulo (%) :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Petit nouveau ! | 2 Messages

16 mars 2009, 23:43

Merci bien pour ta réponse, et désolé je suis novice je ne maitrise donc pas encore très bien toutes les subtilités du forum. Je ferai attention la prochaine fois :(

ViPHP
ViPHP | 1996 Messages

17 mars 2009, 11:30

Utilise les propriétés CSS pour faire un décalage visuel avec une marge basse (margin-bottom). Je te propose pour cela :
<?php
// url du fichier qui contient les images
$urlphoto = "photos/Accueil/";

// nom du répertoire qui contient les images
$nomRepertoire = "photos/Accueil/Miniatures/";
if (is_dir($nomRepertoire))
{
$dossier = opendir($nomRepertoire);
$nombre_de_photo_par_paragraphe = 5;
$i =0;
while ($Fichier = readdir($dossier))
{
if ($Fichier != "." AND $Fichier != ".." AND (stristr($Fichier,'.gif') OR stristr($Fichier,'.jpg') OR stristr($Fichier,'.png') OR stristr($Fichier,'.bmp')))
{
// Hauteur de toutes les images

//création du paragraphe 
if ($i == 0) echo '<p style="margin-bottom : 3em;">';

echo '<a target="_blank" href="', $urlphoto, '/',$Fichier, '">';
echo '<img src="', $urlphoto, '/',$Fichier, '" ';
echo "width=108 height=144";
echo "</a>&nbsp;";

if ($i == 0) echo '</p>';
$i++;
if ($i == $nombre_de_photo_par_paragraphe) $i=0;
}
}
closedir($dossier);
}else{
echo' Le répertoire spécifié n\'existe pas';
}
?> 
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr