Problème script

Discussion dans 'Web, design' créé par DeScH, 27 Juillet 2006.

Statut de la discussion:
Fermée.
  1. Offline
    DeScH AstaLaVista
    Hello, j'ai téléchargé un petit script permettant de recuperer les images d'un dossier et d'en faire des images réduites sur une page, mais il y a un problème: lorsque je veux faire suivant ou précédent, que je veux afficer la seconde partie, ca ne marche pas. Qq1 saurait-il m'aider?


    <?

    function isImg ($file){if (eregi(".jpg$",$file)){return true;}} // Fonction de verification des fichiers jpeg

    $genererImg = "images.php"; // Fichier php qui se charge de faire les reduction d'image
    $repImg = "images"; // Repertoire des images
    $handle = opendir("$repImg"); // On ouvre le repertoire des images
    while ($file = readdir($handle))
    {if ($file != "." && $file != ".." && isImg ($file))
    {$listImg[] = $file; // On place toutes les images du dossier dans le tableau $imgList
    sort($listImg);}} // On classe les fichiers dans l'orde alphabetique (c'est plus mieux ;D) )
    closedir($handle); // On ferme le repertoire des images

    // presentation de la page
    echo "
    <body bgcolor=#000000>
    ";


    $lien = "images.php?"; // Liens pour afficher votre page
    if (empty($Galerie)) {$Galerie = 1;}
    $precGalerie = $Galerie-1; // Galerie precedente
    $suivGalerie = $Galerie+1; // Galerie suivante

    $nbImg = count($listImg); // Compte le nombre d'image
    $nbLigne = 5; // Nombre de ligne souhaité
    $nbCol = 4; // Nombre de colonne souhaité
    $nbImgParPg = $nbLigne*$nbCol; // Calcul du nombre d'image par page
    $nbGalerie = $nbImg/$nbImgParPg; // Calcul du nombre de galerie
    $nbGalerie = ceil("$nbGalerie"); // Calcul du nombre de galerie, arrondi superieur du calcul
    $numImg = ($Galerie*$nbImgParPg)-$nbImgParPg; // Compteur pour le tableau $imgList

    echo"<table border=0 cellspacing=5 cellpadding=3 width=100% align=center>
    <tr:colere:td colspan=$nbCol:colere:font size=25 face=Arial:colere:/font> <font size=5 face=Arial:colere:/font:colere:/td:colere:/tr>";

    $comptLigne = 0; // Mise a zero du compteur de lignes
    while ($comptLigne < $nbLigne)
    {echo "<tr>";
    $comtpImg = 0; // Mise a zero du compteur d'images
    while ($comtpImg < $nbCol && $numImg < $nbImg)
    {echo "<td align=center:colere:a target=blank href=\"$repImg/$listImg[$numImg]\":colere:img src=\"$repImg/$listImg[$numImg]\" border=0 width=150 height=120:colere:/a:colere:/td>";

    //change la ligne ci-dessus pour la taille des miniatures

    $numImg++; // Incremantation du compteur de $imgList (each() et foreach() etait beaucoup moins pratique :D( )
    $comtpImg++; // Incremantation du compteur d'images
    }
    echo "</tr>";
    $comptLigne++; // Incremantation du compteur de lignes
    }
    echo "<tr:colere:td colspan=$nbCol align=center:colere:table width=100% border=0 cellspacing=0 cellpadding=0:colere:tr align=center:colere:td colspan=2>";
    for ($compt = 1; $compt <= $nbGalerie && $nbGalerie > 1; $compt++)
    {echo"| <a href=\"$lien"."Galerie=$compt\">$compt</a> ";}
    if ($nbGalerie > 1){echo" | ";}
    echo "</td:colere:/tr:colere:tr:colere:td width=50% align=left>";
    if ($Galerie > 1)
    {echo "<a href=\"$lien"."Galerie=$precGalerie\">Precedent</a> ";} // Lien "precedent"
    echo" </td:colere:td width=50% align=right>";
    if ($Galerie < $nbGalerie)
    {echo "<a href=\"$lien"."Galerie=$suivGalerie\">Suivant</a>";} // Lien "suivant"
    echo "</td:colere:/tr:colere:/table:colere:/td:colere:/tr:colere:/table:colere:/body:colere:/html>";
    ?>
    DeScH, 27 Juillet 2006
    #1
  2. Offline
    *Serval Elite
    ah enfin, on commencait à s'embeter Leaf et moi :D


    Euh je comprends pas exactement ton problème :/

    C'est quand on cliques sur galerie suivante ou précédente que ca foire ?
    *Serval, 27 Juillet 2006
    #2
  3. Offline
    DeScH AstaLaVista
    Voila du travail alors :D
    en fait quand je clique, l'url se transforme en ***/images.php?Galerie=2 mais la page reste la meme que la première
    DeScH, 27 Juillet 2006
    #3
  4. Offline
    AssiuM Fan
    Et si tu rappuies une fois sur suivant, est-ce que le gallerie passe à 2 ?
    Si pas , remplace les $galleries par $_GET['galleries'] là où il interprète la valeur passée en get :)
    AssiuM, 27 Juillet 2006
    #4
  5. Offline
    DeScH AstaLaVista
    quand je clique sur suivant il va toujours sur 2.
    DeScH, 27 Juillet 2006
    #5
  6. Offline
    AssiuM Fan
    Encore plus simple : rajoute ça au début du script et ça va fonctionner :

    $Galerie=$_GET['Galerie']; (après le <?PHP du début)

    Sinon essaie aussi de changer le code html, parce que là il est vraiment ... :-s
    et pis un petit \n par ci par là après les </tr> ça fait pas de tord hein :p
    AssiuM, 27 Juillet 2006
    #6
  7. Offline
    DeScH AstaLaVista
    ça fonctionne :D
    un grand merci
    DeScH, 27 Juillet 2006
    #7
  8. Offline
    AssiuM Fan
    Avec plaisir :) .
    AssiuM, 27 Juillet 2006
    #8
  9. Offline
    Leaf pentoboules (h)
    Han j'arrive en retard :-D

    Une autre question DeScH ? :p
    Leaf, 27 Juillet 2006
    #9
  10. Offline
    *Serval Elite
    oauis, fait nous travailler un peu :p

    Recode une galerie toi-même et viens nous poser plein de questions :D
    *Serval, 27 Juillet 2006
    #10
  11. Offline
    AssiuM Fan
    Un truc plus complexe que celle là, avec création de thumbnails, gestion des commentaires, gestion utilisateurs, et tout et tout :D
    AssiuM, 27 Juillet 2006
    #11
  12. Offline
    DeScH AstaLaVista
    ca ira :D
    Tiens j'ai encore une question, est-ce que ce script est sécurisé?
    DeScH, 27 Juillet 2006
    #12
  13. Offline
    *Serval Elite
    je dirais : presque

    En fait, ca dépend de l'utilisation que tu en fait ;)


    Ce qui me dérange, c'est ton isImg ;)
    tu vérifies que ton fichier ai l'extension .jpg, mais cela ne suffit pas. Je peux très bien mettre un executable avec l'extension .jpg :p

    Il faut donc vérifier le type mime du fichier :

    function isImg ($file){if (eregi(".jpg$",$file) && $_FILES["file"]["type"] == "image/jpeg Images Jpeg jpg,jpeg,jpe"){return true;}} // Fonction de verification des fichiers jpeg



    Si tu veux une liste des autres types mime :
    http://www.asp-php.net/ressources/codes/php-verifier_une_extension_de_fichier.htm

    Dans ce cas-ci, c'est pas trop dangereux car c'est pas un script d'upload, donc en théorie aucun problème...


    Je préfère quand même être prudent, et puis vous me connaissez... Je suis chiant :D (et puis AssiuM avait déjà tout répondu, fallait bien que je trouves un truc à dire :D)
    *Serval, 28 Juillet 2006
    #13
  14. Offline
    DeScH AstaLaVista
    ok merci;) et en parlant de bon script d'upload, en aurais-tu un bon bien sécurisé? J'en aurai besoin pour plus tard :)
    DeScH, 28 Juillet 2006
    #14
  15. Offline
    *Serval Elite
    J'en ai des faits maison, mais faut que je les optimise avant de les distribuer ;)

    Si j'en ai le temps et l'envie d'ici peu, je te tiens au courant
    *Serval, 29 Juillet 2006
    #15
  16. Offline
    DeScH AstaLaVista
    Merci bien ;)
    DeScH, 29 Juillet 2006
    #16
Statut de la discussion:
Fermée.