begin process at 2008 08 20 12:15:54
1 228 769 membres
141 nouveaux aujourd'hui
14 257 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

PETITE GALLERIE D'IMAGES VITE FAIT....


Information sur la source

Catégorie :Fichier / Disque Niveau : Débutant Date de création : 12/03/2003 Date de mise à jour : 12/03/2003 18:24:58 Vu : 7 208

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

Description

/**************************************************************
* petite gallerie d'image vite faite...en recuperant
* la liste des images d'un repertoire donnée.
*
* il faut renseigner les variables suivantes :
* - $rep : repertoire contenant les fichiers images
* - $image_prec : fichier image du bouton precedent
* - $image_suiv : fichier image du bouton suivant
* - $image : la premiere image a afficher
**************************************************************/

Source

  • <?
  • /* fichier gallerie.php */
  • echo "<HTML>\n";
  • echo "<BODY BGCOLOR=#FFF0F5></BODY>";
  • echo "<DIV ALIGN=\"center\" STYLE=\"position:relative\">\n";
  • $cpt = 0;
  • /**
  • *on recupere d'abord tous les fichiers et num d'indexe
  • */
  • if ($dir = opendir("$rep")) {
  • while($file = readdir($dir)) {
  • if(($file != ".") && ($file != "..")) {
  • $liste[$cpt] = $file;
  • $tableau[$file] = $cpt++;
  • }
  • }
  • }
  • /**
  • * on recupere l'indexe de l'image et comptabilise le nbre
  • */
  • $num = $tableau[$image];
  • $nb = $cpt - 1;
  • if($num == 0) {
  • $num = $nb;
  • }
  • elseif($num == $nb) {
  • $num = 0;
  • }
  • /**
  • * on positionne sur les images aux etremites
  • * et determine l'image suivant/precedente
  • */
  • $premiere_photo = $liste[0];
  • $derniere_photo = $liste[$cpt-1];
  • $next = $liste[$num + 1];
  • $prev = $liste[$num - 1];
  • /**
  • * quelques infos sur le fichier image pour mieux le positionner
  • */
  • $size = GetImageSize($rep . "\\" . $image);
  • $largeur = $size[0];
  • $hauteur = $size[1];
  • if($largeur > $hauteur)
  • echo "<IMG ALIGN=\"center\" SRC=" . $rep . "\\" . $image . ">\n";
  • else
  • echo "<IMG ALIGN=\"center\" SRC=" . $rep . "\\" . $image . ">\n";
  • echo "</DIV></BR>";
  • echo "<DIV ALIGN=\"center\" STYLE=\"position:relative\">\n";
  • echo "<A HREF=\"gallerie.php?rep=$rep&image=$prev\"><IMG BORDER=0 SRC=\"$image_prec\"></A>";
  • echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
  • echo "<A HREF=\"gallerie.php?rep=$rep&image=$next\"><IMG BORDER=0 SRC=\"$image_suiv\"></A>";
  • echo "</DIV>";
  • echo "</HTML>\n";
  • ?>
<?
/* fichier gallerie.php */

echo "<HTML>\n";
echo "<BODY BGCOLOR=#FFF0F5></BODY>";
echo "<DIV ALIGN=\"center\" STYLE=\"position:relative\">\n";

$cpt = 0;

/**
  *on recupere d'abord tous les fichiers et num d'indexe
  */
if ($dir = opendir("$rep")) {  
	while($file = readdir($dir)) {		
		if(($file != ".") && ($file != "..")) {
			$liste[$cpt] = $file;
			$tableau[$file] = $cpt++;
		}
	}
}

/**
  * on recupere l'indexe de l'image et comptabilise le nbre
  */
$num = $tableau[$image];
$nb = $cpt - 1;

if($num == 0) {
	$num = $nb;
}
elseif($num == $nb) {
	$num = 0;	
}

/**
  * on positionne sur les images aux etremites 
  * et determine l'image suivant/precedente
  */
$premiere_photo = $liste[0];
$derniere_photo = $liste[$cpt-1];

$next = $liste[$num + 1];
$prev = $liste[$num - 1];

/**
  * quelques infos sur le fichier image pour mieux le positionner
  */
$size = GetImageSize($rep . "\\" . $image);
$largeur = $size[0];
$hauteur = $size[1];
					
if($largeur > $hauteur)
	echo "<IMG ALIGN=\"center\" SRC=" . $rep . "\\" . $image . ">\n";
else
	echo "<IMG ALIGN=\"center\" SRC=" . $rep . "\\" . $image . ">\n";

echo "</DIV></BR>";

echo "<DIV ALIGN=\"center\" STYLE=\"position:relative\">\n";
echo "<A HREF=\"gallerie.php?rep=$rep&image=$prev\"><IMG BORDER=0 SRC=\"$image_prec\"></A>";
echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
echo "<A HREF=\"gallerie.php?rep=$rep&image=$next\"><IMG BORDER=0 SRC=\"$image_suiv\"></A>";
echo "</DIV>";

echo "</HTML>\n";
?>

Conclusion

/**************************************************************
* on appele se script avec en parametre la premiere image
* a afficher et le repertoire. exemple :
* &lt;A HREF=gallerie.php?rep=" . $rep . "&image=" . $file ."&gt;";
**************************************************************/
  • signaler à un administrateur
    Commentaire de Natim le 18/06/2004 22:15:07

    Je vais essayer mais est-ce que qqun saurait comment faire un truc de ce genre :http://www.tabou.be/index.php?fic=afftally
    Pasque en fait, j'aimerais que les personnes puissent ajouter leur photo et que les autres puissentle voir avec création de miniature et clic sur l'image = popup avec taille réelle ..
    Si quun pouvait m'aider ;) (Je sais, il y a le forum pour ça mais bon ?...)

  • signaler à un administrateur
    Commentaire de ZoOn le 28/04/2005 16:14:09

    Salut.
    Tout d'abord, ton script est relativement simple a mettre en place et ca c'est bien quand on a pas beaucoup d'experience dans le domaine :)
    Cependant voila, aprés avoir rensigné les variables comme expliqué, je test ma page. je tombe bien sur la premiere image du repértoire, avec mes deux "boutons" pour naviguer.
    Mais, lorsque je click sur 'suivant', impossible de faire defiler les images, le script reviens constament sur la meme image.
    Dans dreamweaver, lors d'un appercu (avec IE), il m'affiche donc ma page avec mon image, ET ce msg :

    Notice: Undefined offset: 29 in d:\ats\site\gallerie.php on line 49

    Sous Firefox, je n'ai pas d'image, juste le msg d'erreur. Des recherches m'ont permis d'apprendre que l'index du tableau etait mal renseigné ou n'existait pas. J'ai tenté de modifier la configuration du tableau, puisque le principe d'affichage est basé sur un tableau, mais rien. je suis donc retourné a la configuration par défault, mais toujours rien..
    Pourriez vous m'aider?
    Merci d'avance.

  • signaler à un administrateur
    Commentaire de Natim le 28/04/2005 18:58:08

    Bonjour !
    Si tu as un problème avec un code, tu peux demander de l'aide sur http://www.siteduzero.com/ sinon, tu peux commander ton script sur http://www.natimphp.tk/
    Bienvenue dans le monde de la programmation !

  • signaler à un administrateur
    Commentaire de willowman le 03/05/2005 21:13:32

    Salut j'avais completement oublié ce script !!
    Du coup, j'ai fait quelques modif...histoire qu'il tourne mieux !

    <?
    /* fichier gallerie.php */

    echo "<HTML>\n";
    echo "<BODY BGCOLOR=#FFF0F5></BODY>";
    echo "<DIV ALIGN=\"center\" STYLE=\"position:relative\">\n";

    $rep = ".";
    $image_prec = "./precedent.jpg";
    $image_suiv = "./suivant.jpg";

    if ($image == "")
    $image = "une_photo.jpg";

    $cpt = 0;

    /**
        *on recupere d'abord tous les fichiers et num d'indexe
        */
    if ($dir = opendir("$rep")) {  
        while($file = readdir($dir)) {      
            if(($file != ".") && ($file != "..")) {
                if (eregi("jpg", $file)) {
    $liste[$cpt] = $file;
    $tableau[$file] = $cpt++;
    }
            }
        }
    }

    /**
        * on recupere l'indexe de l'image et comptabilise le nbre
        */
    $num = $tableau[$image];

    $nb = $cpt - 1;

    if($num == 0) {
        $num = $nb;
    }
    elseif($num == $nb) {
        $num = 0;  
    }

    /**
        * on positionne sur les images aux etremites
        * et determine l'image suivant/precedente
        */
    $premiere_photo = $liste[0];
    $derniere_photo = $liste[$cpt-1];

    $next = $liste[$num + 1];
    $prev = $liste[$num - 1];

    /**
        * quelques infos sur le fichier image pour mieux le positionner
        */
    $size = getimagesize($rep . "/" . $image);
    $largeur = $size[0];
    $hauteur = $size[1];

    if($largeur > $hauteur)
        echo "<IMG ALIGN=\"center\" SRC=" . $rep . "/" . $image . ">\n";

    else
        echo "<IMG ALIGN=\"center\" SRC=" . $rep . "/" . $image . ">\n";

    echo "</DIV></BR>";

    echo "<DIV ALIGN=\"center\" STYLE=\"position:relative\">\n";
    echo "<A HREF=\"gallerie.php?rep=$rep&image=$prev\"><IMG BORDER=0 SRC=\"$image_prec\"></A>";
    echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
    echo "<A HREF=\"gallerie.php?rep=$rep&image=$next\"><IMG BORDER=0 SRC=\"$image_suiv\"></A>";
    echo "</DIV>";

    echo "</HTML>\n";
    ?>

  • signaler à un administrateur
    Commentaire de davidauche le 22/12/2005 08:29:59

    ehhh! mais j'essaie de trouver la difference entre :
    echo "<IMG ALIGN=\"center\" SRC=" . $rep . "\\" . $image . ">\n";
    echo "<IMG ALIGN=\"center\" SRC=" . $rep . "\\" . $image . ">\n";
    dans cette condition :
    if($largeur > $hauteur)
         echo "<IMG ALIGN=\"center\" SRC=" . $rep . "\\" . $image . ">\n";
    else
        echo "<IMG ALIGN=\"center\" SRC=" . $rep . "\\" . $image . ">\n";

    En +,
    $premiere_photo = $liste[0];
    $derniere_photo = $liste[$cpt-1];
    font quoi dans ton code?
    Un effort pour optimiser le code.

  • signaler à un administrateur
    Commentaire de willowman le 22/12/2005 09:54:52

    Arrrfff !!

    Autant pour moi !!!
    C'est un truc que j'avais ecrit il y a fort fort longtemps. Je bosse sur quelque chose de plus serieux et le posterais par la suite.

    a++

  • signaler à un administrateur
    Commentaire de willowman le 22/12/2005 10:09:28

    Tout compte fait, on trouve de tres bonnes galleries de photos un peu partout sur le Net ! Alors, au lieu de réecrire la roue... Je laisse google orienter les gens désireux de mettre en place ce type d'appli.

    Merci pour les remarques...

    A++

  • signaler à un administrateur
    Commentaire de wsarthox le 07/12/2007 21:56:09

    @Willoman
    Dommage que tu abandonne ce script,
    c'est pourtant tjr intéréssant pour des débutants de pouvoir lire un script simple et bien fait comme celui-ci pour apprendre par l'exemple :D

    Ciao

Ajouter un commentaire

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS