Bonjour,
J'ai développé un code batch (http://pastebin.com/sVYG9DEd) 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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <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>
La structure des dossiers se présente de cette façon :
>>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 (éditée via XnView). 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 (https://drive.google.com/file/d/0B2Z...ZNMDdZVjQ/view) avec des photos contenant des méta-données valides.
J'obtiens l'erreur suivante : http://pix.toile-libre.org/upload/or...1468601317.png Je ne sais pas quoi faire, je ne m'y connais pas beaucoup en PHP.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 //Récupère les méta-données d'un fichier function MetaData($f){ GetImageSize($f,$info); if (isset($info["APP13"])) { $iptc = iptcparse($info["APP13"]); return $iptc["2#105"][0]; } } //Vecteur de fichiers/dossiers function scan_rep($repertoire){ $le_repertoire = opendir($repertoire); $return = array(); while($fichier = @readdir($le_repertoire)){ if ($fichier != "." && $fichier != "..") { if(is_dir($repertoire.'/'.$fichier)){ $folder = $repertoire.'/'.$fichier; $return[] = array('rep' => $fichier,'file' => scan_rep($repertoire.'/'.$fichier)); } else { $return[] = array('file' => $fichier,'meta' => MetaData($repertoire.'/'.$fichier)); } } } closedir($le_repertoire); return $return; } //Affichage du vecteur function echo_rep($rep){ echo '<div class="cadre-nospan" style="background-image: url(\''.$rep.'/cover.jpg\')">'; foreach($rep as $key => $value) { if(isset($value['rep'])) { echo_rep($rep."/".$value['file']); } else{ $file = $rep."/".$value['file']; $meta = $value['meta']; echo '<a class="galerie" href="'.$fichier.'"data-lightbox="'.$rep.'"data-title="'.$meta.'">'.$fichier.'</a>'; } } echo "</div>"; } //Appel des fonctions : $tableau = scan_rep('equipe'); echo_rep($tableau);
Partager