J'ai développé un code batch il y a plusieurs années qui me permet de créer automatiquement une liste d'un dossier et des ses sous-dossiers, ainsi que des fichiers. Le tout est mis en forme dans un JS accompagné d'un html. Ceci me permet de générer des galeries d'images en un clic.
Actuellement, je travaille sur un site php (nouveau pour moi) et je suis entrain de convertir tous mes scripts en code php (bien plus pratique). Là, je galère un peu donc je viens quémander de l'aide
Voici ce que je dois obtenir au final dans la page web :
Code : Tout sélectionner
<div class="cadre-nospan" style="background-image: url("equipe/01-direction-administration/cover.jpg")
<a class="galerie" href="equipe/01-direction-administration/1Dehon-Ghislain_Directeur.jpg" data-lightbox="01-direction-administration" data-title="Ghislain Dehon (Directeur)"><h6>Direction & Administration</h6></a>
<a class="galerie" href="equipe/01-direction-administration/2Boitel-Olivier_Administrateur.jpg" data-lightbox="01-direction-administration" data-title="Olivier Boitel (Administrateur)"></a>
</div>
>>equipe :
---->01-direction-administration
---------image1.jpg
---------image2.jpg
---------etc.jpg
---->02-enseignants
---------image1.jpg
---------image2.jpg
---------image3.jpg
---------etc.jpg
---->03-etc
---------image1.jpg
---------image2.jpg
---------image3.jpg
---------etc.jpg
J'utilise également une fonction me permettant de récupérer les méta-données des images. De cette façon, le nom du sujet de l'image est enregistré dans l'image et puis affiché. Sauf pour "cover", l'information contenue est le nom de la catégorie (exemple "Direction & Administration"). Voici un ZIP avec des photos contenant des méta-données valides.
Et voici ce que j'ai niveau code. A ce niveau; j'ai un simple affichage des données, mais je n'arrive pas à mettre en forme pour créer le code html souhaité
Code : Tout sélectionner
<?php
function MetaData($f){
GetImageSize($f,$info);
if (isset($info["APP13"])) {
$iptc = iptcparse($info["APP13"]);
return $iptc["2#105"][0];
}
}
function ScanDirectory($Directory){
$MyFolder = opendir($Directory) or die('Erreur');
while($Folder = readdir($MyFolder)) {
if ($Folder != '.' && $Folder != '..'){
if(is_dir($Directory.'/'.$Folder)) {
echo $Folder.'<br />'; //Dossier : affiché
ScanDirectory($Directory.'/'.$Folder);
} else {
$file = $Directory.'/'.$Folder;
if ($Folder=="cover.jpg") {
echo $file.'<br />'; //Cover : dossier/fichier.ext
} else {
echo MetaData($file).'<br />'; //Meta : affichée
}
}
}
}
}
ScanDirectory('equipe');
?>