Page 1 sur 1

Afficher des images provenant d'un dossier

Posté : 15 déc. 2014, 20:07
par fiona
Bonjour,

Mon prof nous a donné un exercice dont on a fait la moitié avec lui. Mon problème est que je n'arrive pas à terminer mon code dont le but est d'afficher des images provenant d'un dossier et quand je clique sur un des dossier du menu mes images ne s'affichent pas. Voici mon code en espérant que vous pourrez m'aider.

CODE PHP
<?php ?>
<!doctype html>
<html>
    <head>
        <title>Galerie de photos diverses</title>
        <link href="05_galerieDePhotosDiverses.css" rel="stylesheet" type="text/css"/>
    </head>
    <body>
        <nav id="menu">
            <ul>
<!--                <li>D1</li>
                <li>D2</li>
                <li>D3</li>-->
                <?php 
                $fichierEtDossiers=
                       scandir("Images");
                
                for ($i=0; $i<count($fichierEtDossiers); $i++)
                {
                        if($fichierEtDossiers[$i]!="."
                            && $fichierEtDossiers[$i]!=".."){
                    ?>
                <li>
                <a href="05_galerieDePhotosDiverses.php?dossier=?<?php echo $fichierEtDossiers[$i]; ?>">
                    <?php echo $fichierEtDossiers[$i]; ?></a>
                </li>
                    <?php                
                }
                }
                ?>
            </ul>
        </nav>
        <div id="galerie">
            <?php
            //s'il n'y a pas de dossier dans l'URL
            if (!isset($_GET["dossier"])) {
                ?>
            sélectionnez un dossier dans <b>le menu</b>.
                    <?php
            //s'il y en a un
            } else {
                $Images =scandir("Images/".$_GET["dossier"]);
                
               for ($i=0; $i<count($Images); $i++)
                {
                        if($Images[$i]!="."
                            && $Images[$i]!=".."){
                    ?>
            
            <img src="Images/Dessins/ <?php echo $Images[$i]; ?>">
                    <?php echo $Images[$i]; ?>
            
                    <?php                
                }
                }
            }
                ?>
               
        </div>
    </body>
</html>
On a aussi fait un fichier css, je vous le donne si jamais vous en avez besoin
#menu{
    float: left;
    width: 200px;
    padding: 20px;
    border: 1px solid black;
    border-radius: 10px;
    margin-right: 20px;
}
Merci d'avance !

Re: Afficher des images provenant d'un dossier

Posté : 15 déc. 2014, 20:18
par xTG
Tu as des carrés avec croix rouge (image non disponible) ou bien tu n'as rien du tout ?

Re: Afficher des images provenant d'un dossier

Posté : 16 déc. 2014, 00:05
par fiona
Quand je clique sur mon dossier ça me met une phrase d'erreur pour chaque image

Re: Afficher des images provenant d'un dossier

Posté : 16 déc. 2014, 00:23
par @rthur
Quand je clique sur mon dossier ça me met une phrase d'erreur pour chaque image
N'hésites pas à indiquer le message d'erreur, ça aide souvent à débuguer puisque c'est justement fait pour ça ;)

Re: Afficher des images provenant d'un dossier

Posté : 16 déc. 2014, 10:23
par fiona
Ça me met ce message là pour chaque image, mais je ne vois pas quelle erreur j'ai faites ligne 42

Warning: scandir(Images/?Dessins,Images/?Dessins): No error in C:\xampp\htdocs\WIS_php\05_galerieDePhotosDiverses.php on line 42

Warning: scandir(Images/?Dessins): failed to open dir: No error in C:\xampp\htdocs\WIS_php\05_galerieDePhotosDiverses.php on line 42

Warning: scandir(): (errno 0): No error in C:\xampp\htdocs\WIS_php\05_galerieDePhotosDiverses.php on line 42

Re: Afficher des images provenant d'un dossier

Posté : 16 déc. 2014, 11:22
par @rthur
failed to open dir
Le nom de répertoire que tu passes en paramètre à scandir() est incorrect

Re: Afficher des images provenant d'un dossier

Posté : 16 déc. 2014, 19:42
par tesmet
<a href="05_galerieDePhotosDiverses.php?dossier=?<?php echo $fichierEtDossiers[$i]; ?>">
Il y un un "?" de trop après "dossier="
<a href="05_galerieDePhotosDiverses.php?dossier=<?php echo $fichierEtDossiers[$i]; ?>">
<img src="Images/Dessins/ <?php echo $Images[$i]; ?>">
je ne vois pas l'utilité du répertoire "Dessins/", chose certaine l'espace qui suit n'est pas à sa place
<img src="Images/<?php echo $_GET["dossier"]."/".$Images[$i]; ?>">
certaines validations pourraient être ajoutés pour augmenter la sécurité du script.