IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Système] Faire une galerie photo simple


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de titor
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 78
    Points : 51
    Points
    51
    Par défaut [Système] Faire une galerie photo simple
    Salut à tous, je voudrais réaliser une galerie photo toute simple mais je bloque.
    J'ai dans un repertoire 143 photos dont le nom commence par Photo xxx où xxx represente les nombres de 001 à 143.
    J'ai trouvé comment "miniaturiser" une photo. Alors j'ai essayé de faire une boucle pour afficher plusieurs images mais sa ne marche pas.
    Le code utilisé est le suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <?php
            $affiche=150;
    			$i=001;
    			for($i=001; $image<=003; $i++);
            {
    			$image='Photo '.$i.'.jpg'; // adresse de l'image
                if (!file_exists($image))
            // image de substitution
                {
                $image='admin/images/nopict.gif';
                $largeur2=80;
                $hauteur2=60;
                }
                else
                {
                $taille=getimagesize($image);
                $largeur=$taille[0];
                $hauteur=$taille[1];
     
                //image verticale ou carrée
                if ($hauteur>=$largeur)
                {
                $hauteur2=$affiche;
                $largeur2=round(($hauteur2/$hauteur)*$largeur);
                }
     
                //image horizontale ou carrée
                else
                {
                $largeur2=$affiche;
                $hauteur2=round(($largeur2/$largeur)*$hauteur);
                }
                }
    		}
    	echo"
    <a href=http://titor76.Free.fr/photos/Photo%20'.$i.'.jpg><img border='0' src='$image' width='$largeur2'  height='$hauteur2' ></a>
    ";
     
    ?>
    Merci de votre aide.
    titor
    Software is like sex, it's better when it's free

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Et le problème c'est quoi plus précisement ?

    Ca doit venir de ton incrémentation, parce que je pense pas que 001 + 1 çà fasse 002, il doit y avoir une conversion en entier à un moment donc 001 devient 1 et du coup le nom de l'image n'est pas le bon... Alors il faut faire des tests et ajouter des "0" si besoin dans le nom de l'image.
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  3. #3
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Points : 532
    Points
    532
    Par défaut
    mais sa ne marche pas
    Rien qu'en lisant ça je ne prend même pas la peine de lire ton code
    "ça ne marche pas" ça ne nous avance pas pour t'aider parce que ça ne veut rien dire .
    Il se passe quoi ? Rien ? Message d'erreur ?

  4. #4
    Membre du Club Avatar de titor
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 78
    Points : 51
    Points
    51
    Par défaut
    A JWhite, je vais tester ta reponse, pour voir si cela marche
    A Sylvain17, si je dis ça ne marche pas c'est qu'il ne se passe rien, même pas un message d'erreur

    titor
    Software is like sex, it's better when it's free

  5. #5
    Membre du Club Avatar de titor
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 78
    Points : 51
    Points
    51
    Par défaut
    Bon et bien après quelque petits tests, il semblerai que j'ai une erreur (enfin )

    Php me met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Maximum execution time of 30 seconds exceeded in /mnt/111/sdc/c/d/titor76/photos/galerie.php on line 9
    J'ai essayé de fare un test selon les indications de JWhite et j'ia utilisé le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
            $affiche=150;
    	$i=1;
    	for($i=1; $image<=3; $i++);
            {
     
             // ici on retrécit l'image...
     
    	echo"<a href=http://titor76.Free.fr/photos/Photo%20'.$i.'.jpg><img border='0' src='$image' width='$largeur2'  height='$hauteur2' ></a>
    ";
             }
    Software is like sex, it's better when it's free

  6. #6
    Membre expérimenté Avatar de nebule
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    1 507
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 507
    Points : 1 464
    Points
    1 464
    Par défaut
    Et ca marche mieux avec la nouvelle boucle ?
    Car je peux confirmer que les 001 à 009 il n'arrivera pas à s'en sortir.

    Donc en gros, ta boucle ne fini jamais (ta boucle for) d'où l'erreur fatal error.
    (\ _ /)
    (='.'=)
    (")-(")

  7. #7
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Essaie avec ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo"<a href=http://titor76.Free.fr/photos/Photo%20".$i.".jpg><img border='0' src='$image' width='$largeur2'  height='$hauteur2' ></a>
    ";
    Tu t'emmêles avec les quotes et les guillemets.

    Mais sinon mon idée c'était de tester si $i est < à 10, tu ajoutes deux zéros devant, si c'est < à 100, tu en mets 1.

    Un peu comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo"<a href=http://titor76.Free.fr/photos/Photo%20" . (($i<10)?"0":"") . (($i<100)?"0":"")$i . ".jpg><img border='0' src='$image' width='$largeur2'  height='$hauteur2' ></a>
    ";
    Pas testé.
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  8. #8
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            $affiche=150;
    	for($i=1; $i<=$affiche; $i++);
            {
     
            if ( $i < 10 ) $I = '00'.$i;
            elseif ( $i < 100 ) $I = '0'.$i;
            else $I = $i;
     
    	echo"<a href=http://titor76.Free.fr/photos/Photo%20'.$I.'.jpg><img border='0' src='$image' width='$largeur2'  height='$hauteur2' ></a>
    ";
             }
    voila ce qu'on essayait de t'expliquer.

  9. #9
    Membre du Club Avatar de titor
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 78
    Points : 51
    Points
    51
    Par défaut
    Salut, alors après quelques arrachages de cheveux, j'ai trouvé une partie de la solution.
    Tout d'abord
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for($i=1; $i<=$affiche; $i++);
    est faux il faut enlever le point-virgule final car il ne m'affichait qu'une miniature.
    Maintenant, il reste un autres probleme, il ne m'affiche pas lles miniatures mais les liens marchent vers les images d'origines.

    Une idée ?
    Merci de votre aide
    titor
    Software is like sex, it's better when it's free

  10. #10
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Si ca t'interesse il existe un code(qui gére une galerie d'image) déjà tout fait dans le sous forum Contribuez de PHP

  11. #11
    Membre du Club Avatar de titor
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    78
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Octobre 2005
    Messages : 78
    Points : 51
    Points
    51
    Par défaut
    Merci de cette info
    Cependant, cette galerie ne comporte que les 140 photos et rien d'autres ne sera ajouté. C'est pour montrer les photos d'un repas de classe aux membres de la classe.
    J'ai bien tout mes liens qui s'affichent mais pas les photos miniatures... ce qui est plutot problématique...
    Je vais continuer à chercher.
    titor

    [edit] C'est résolu [/edit]
    Software is like sex, it's better when it's free

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Impossible de faire une galerie avec des photos apparaissant en fondu
    Par daphpassion dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/03/2009, 19h46
  2. Réaliser une galerie photo automatique sans php
    Par vallica dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/10/2006, 10h57
  3. Une Galerie photo
    Par agbononamour dans le forum Langage
    Réponses: 2
    Dernier message: 30/08/2006, 16h20
  4. [MySQL] Système de pagination pour une galerie photo
    Par Badaboumpanpan dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 27/06/2006, 15h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo