Galerie image php

vick58 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention   -  
legulysse Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un code php pour faire une galerie d'image, le seule problème c'est que je ne sais pas comment organiser mla galerie en colonne, mes images se mettent que en ligne. Comment peut-on faire.

Voici mon code php :

images.php :

<?php

$folder = "../perso/images";

$dossier = opendir($folder);

while ($Fichier = readdir($dossier)) 
{

  if ($Fichier != "." && $Fichier != "..") 
  {
    $nomFichier = $folder."/".$Fichier;
   	
	include("reduction.php");
	
  }
  
}
closedir($dossier);

?>


reduction.php :

<?php
// Nom de l'image.
$source= $nomFichier;

// Taille à ne pas dépasser
$taillemax=300;

// On récupère les dimension initiales de l'image.
$img = getimagesize($source);
$x=$img[0];
$y=$img[1];

// Le script.
if ($x > $y)
{
  $y=$y*(($taillemax)/$x);
  $x=$taillemax;
}
if ($y > $x)
{
  $x=$x*(($taillemax)/$y);
  $y=$taillemax;
}
if ($y == $x)
{
  $x=$taillemax;
  $y=$taillemax;
}

// On peut afficher l'image.
echo "<a href=\"$source\"><img src=\"$source\" width=\"$x\" height=\"$y\" /></a><br/><br/>";
?>


Merci d'avance pour vos réponses.
A voir également:

9 réponses

legulysse Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   15
 
Normalement, tes images devraient être placées en colonne, vu que tu as mis des balises <br>, c'est etrange.

Tu as essayé d'afficher ta galerie sous plusieurs navigateurs, genre en testant avec IE ou opera ?
Est-ce que tes images sont affichées dans un cadre de hauteur fixe (ce qui les empecherait de loger sur une seule ligne) ?
0
vick58 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
En fait j'ai une colonne avec plusieurs ligner, et <br/> sert a faire des sauts de ligne,....

et la hauteur dépend si l'image et en format paysages ou portrait.
0
legulysse Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   15
 
hum

au final, ce que tu veux, c'est afficher une seule colonne avec une image par ligne ?
ou plusieurs images par ligne ?

dans les deux cas, à priori, il suffit de bien gérer tes <br>.
vu ton code, tu dois deja avoir une image par ligne.
Si tu les enleve, tes images seront les unes à coté des autres.
si tu veux par exemple deux images par ligne, il te suffit de deplacer les <br> au niveau de images.php, juste apres l'include, et d'utiliser une variable compteur pour ne mettre ces <br> qu'un coup sur deux.

Ou alors je n'ai toujours pas compris quel était précisément ton problème^^
0
vick58 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
Merci, c'est ce qu'il me fallait, mettre au moins 2 image par ligne, par contre pouré tu me donner un exemple, lol.
0
vick58 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
Un exemple avec le compteur !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vick58 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
Cela ne marche pas, peut-être que je mis prendd mal pouvais vous m'aider s'il vous plait

<?php

$folder = "../perso/images";

$dossier = opendir($folder);

$i;
while ($Fichier = readdir($dossier)) 
{

  if ($Fichier != "." && $Fichier != "..") 
  {
    $nomFichier = $folder."/".$Fichier;
   	
	include("reduction.php");
	
	if(is_int($i/3))
	{
		echo '<br />';
	}
	$i++;
  }
  
}
closedir($dossier);

?>

0
vick58 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
up !
0
vick58 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
up !
0
legulysse Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   15
 
hello, t'as pas eu de bol, lundi j'ai joué aux cartes avec un pote et j'avais pas de PC XD

je m'occupe de te faire un petit exemple dans la soirée.

Don't worryyyy... becausssse evryyythiiiing... is gona be aaaalright...
0
legulysse Messages postés 121 Date d'inscription   Statut Membre Dernière intervention   15
 
dans le premier fichier, un ajout simple de compteur :

$i = 0;
while ($Fichier = readdir($dossier)) 
{

  if ($Fichier != "." && $Fichier != "..") 
  {
    $nomFichier = $folder."/".$Fichier;
   	$i++;
	include("reduction.php");
	if($i == 2){
            $i = 0;
            echo "<br/><br/>";
        }
  }
  
}


et pour l'autre fichier, enlever tes deux <br/> (comme sa ils sont transférés du deuxieme fichier vers le premier, dans une condition)

PS : ton code a l'air bon, en considérant que le is_int() marche correctement (c'est la première fois que je le vois) tu as peut etre juste oublié d'enlever les <br/> situés dans le fichier reduction.php^^
0