8798 sujets

Développement web côté serveur, CMS

bonjour,
je souhaiterai savoir comme faire pour afficher les images qui sont contenu dans un repertoire.
De meme si il y a des sous repertoires dans le repertoire image que l'on affiche les sous repertoires avec une miniature d'une des photos de chaque repertoire.
comme réaliser ça ? pouvez vous m'aiguiller ?
Bon j'avance doucement dans ma recherche mais là je bloc.
Alors voilà, j'arrive à parcourir le contenu de mon répertoire, j'affiche les images qui sont dedans et je les réduis pour qu'elles aient la taille que je souhaite.

J’ai donc toutes mes image qui s'affiche les une derrière les autre (on verra après pour la mise en page) et j'ai en tête de page le nom des sous répertoire qui s'affiche si il y en a dans le dossier.

Mon soucis et que si je clic sur le nom du sous répertoire au lieu d'explorer le contenu je tombe sur :
Error 403 - Forbidden
L'accès au fichier requiert une autorisation.

Comment puis-je faire pour que lorsque je clique sur le lien du sous répertoire je l'ouvre et je l'explorer tout comme le répertoire source ?


voici le code sur lequel je suis en trai de travaillé :
<?php
$dir_nom = '../images'; // dossier listé (pour lister le répertoir courant : $dir_nom = '.'  --> ('point')
$dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); // on ouvre le contenu du dossier courant
$fichier= array(); // on déclare le tableau contenant le nom des fichiers
$dossier= array(); // on déclare le tableau contenant le nom des dossiers

while($element = readdir($dir)) {
	if($element != '.' && $element != '..') {
		if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;}
		else {$dossier[] = $element;}
	}
}

closedir($dir);

if(!empty($dossier)) {
	sort($dossier); // pour le tri croissant, rsort() pour le tri décroissant
	echo "Liste des dossiers accessibles dans '$dir_nom' : \n\n";
	echo "\t\t<ul>\n";
		foreach($dossier as $lien){
			echo "\t\t\t<li><a href=\"$dir_nom/$lien \">$lien</a></li>\n";
		}
	echo "\t\t</ul>";
}

if(!empty($fichier)){
	sort($fichier);// pour le tri croissant, rsort() pour le tri décroissant
	echo "Liste des fichiers/documents accessibles dans '$dir_nom' : \n\n";
	echo "\t\t<ul>\n";
		foreach($fichier as $lien) {
			$size = GetImageSize("$dir_nom/$lien");
			
	//Largeur maximale de l'image pour la cr&eacute;ation des miniatures 
    $largeur_maxi = 100; 
    if ($size[0] > $largeur_maxi) 
        { 
            $width = $largeur_maxi; 
            $theight = ($size[0]/$largeur_maxi); 
            $height = ($size[1]/$theight); 
        } 
    else 
        { 
            //Sinon on garde la taille originale 
            $width = $size[0]; $height = $size[1]; 
        } 
			echo "\t\t\t<li><a href=\"$dir_nom/$lien \"><img src=\"$dir_nom/$lien \" width=".$width." height=".$height." alt=\"Photo des Vosges : $lien\" /></a></li>\n";
			
			echo  $size[0]. 'x' .$size[1] ;
		}
	echo "\t\t</ul>";
 }
?>