Galerie image php

Fermé
vick58 Messages postés 28 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 22 juillet 2008 - 21 juil. 2008 à 00:38
legulysse Messages postés 121 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 16 janvier 2010 - 22 juil. 2008 à 16:07
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 mercredi 4 juillet 2007 Statut Membre Dernière intervention 16 janvier 2010 15
21 juil. 2008 à 01:44
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 lundi 21 juillet 2008 Statut Membre Dernière intervention 22 juillet 2008
21 juil. 2008 à 02:46
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 mercredi 4 juillet 2007 Statut Membre Dernière intervention 16 janvier 2010 15
21 juil. 2008 à 02:59
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 lundi 21 juillet 2008 Statut Membre Dernière intervention 22 juillet 2008
21 juil. 2008 à 14:10
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 lundi 21 juillet 2008 Statut Membre Dernière intervention 22 juillet 2008
21 juil. 2008 à 14:20
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 lundi 21 juillet 2008 Statut Membre Dernière intervention 22 juillet 2008
21 juil. 2008 à 14:59
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 lundi 21 juillet 2008 Statut Membre Dernière intervention 22 juillet 2008
21 juil. 2008 à 17:51
up !
0
vick58 Messages postés 28 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 22 juillet 2008
21 juil. 2008 à 19:55
up !
0
legulysse Messages postés 121 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 16 janvier 2010 15
22 juil. 2008 à 15:42
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 mercredi 4 juillet 2007 Statut Membre Dernière intervention 16 janvier 2010 15
22 juil. 2008 à 16:07
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