Bonjour,
Depuis quelque temps je suis en train de refaire intégralement mon site internet.
J’en suis au niveau le plus important du site qui est la galerie photo.
Actuellement j'utilise zen photo qui est une superbe galerie mais qui malheureusement ne s'intègre plus contrairement a ses anciennes version dans un Template d'un site existant.
Je souhaiterai donc créé une galerie du même genre mais en beaucoup moins évolué évidement.
En gros j'ai un répertoire albums dans lequel se trouve d'autres répertoires qui se retrouveront être une galerie par répertoire.
Je souhaite donc scanner grâce a PHP mon répertoire et ses sous répertoire afin de faire ma galerie et l'afficher leur contenu (les photos).
Jusqu’a présent j'arrive à scanner mes répertoire et sous répertoire et j'affiche bien mes photos.
Se que je souhaiterai faire c'est enregistrer le nom des répertoires et photos automatiquement dans MySQL afin de pouvoir ajouter des commentaires sur les galeries et sur les photos.
--> C’est la que je bloque.
Existe-t-il un moyen pour que dans une table (albums) j'enregistre le nom du répertoire, le nombre de fichiers qu'il contient et un champ ou je pourrais enregistrer une description ?
voici mon code actuel qui scan et affiche le contenu sur une page php.
<?php
// Fonction pour parcourir les dossiers
function lireDossier($dir_nom) {
$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);
return array('dossier'=>$dossier,'fichier'=>$fichier);
}
$dir_nom = (isset($_GET['dir'])) ? $_GET['dir'] : '../images'; // dossier listé (pour lister le répertoir courant : $dir_nom = '.' --> ('point')
// Récupérations des infos sur le dossier racine.
$infosDossier = lireDossier($dir_nom);
$dossier = $infosDossier['dossier'];
$fichier = $infosDossier['fichier'];
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 "<br/><ul>";
foreach($dossier as $lien){
// Récupération des infos sur un sous dossier
$infosSousDossier=lireDossier($dir_nom.'/'.$lien);
// Pour choisir aléatoirement une de ses images
shuffle($infosSousDossier['fichier']);
// ATTENTION : Je n'ai pas traité le cas des sous dossiers vides
echo '<br/><li><a href="test-galerie.php?dir='.$dir_nom.'/'.$lien.'"><img width="30px" height="30px" src="'.$dir_nom.'/'.$lien.'/'.$infosSousDossier['fichier'][0].'"/></a>
<a href="test-galerie.php?dir='.$dir_nom.'/'.$lien.'">'.$lien.'</a>
</li><br/>';
}
echo "</ul><br/>";
}
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é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>";
}
?>
maintenant je voudrai recuperer dans mysql le nom de repertoire dans un table que j'appel iwgalerie avec comme champs is, repertoire, description...