576 liens privés
Wouhouhou
\o/
J'ai réussi à résoudre ma première « grosse » anomalie en PHP !
/me happy
J'ai trouvé comment ne plus avoir le bug d'affichage des données EXIF. Et ça fonctionne. C'est juste une coquille à corriger (Tmos ou Sebsauvage, si vous me lisez ;-) ).
La flemme de comprendre comment faire des push/pull/commit dans Github, je vous le livre brut de décoffrage ici :
Évidemment, c'est dans le fichier "index.php".
* Suppression mauvaise lecture
Aux lignes 106/107 et 113/113, dans la fonction "readEXIF", on a :
...
list($x,$y) = preg_split('/', $efocal);
$efocal = round($x/$y,0);
...
et la même chose pour $efnumber
==> Et bien on peut supprimer ces deux couples de lignes. Ça enlève une belle division par zéro juste parce qu'il ne trouve pas le caractère '/' (ou est-ce un caractère d'échappement tout simplement?)
Bonne concaténation des infos EXIF
J'ai remarqué (après décalage sur plusieurs lignes de chaque instruction) qu'un '.' traîne lors de l'utilisation de cette même fonction dans la fonction principale à la ligne 224.
- On a :
- :...
- if ($display_exif == 1) $img_captions[$file] .= readEXIF($currentdir . "/" . $file);
- ...
- *Que l'on peut découper en :
...
- if ($display_exif == 1)
- {
- $img_captions[$file] .= readEXIF($currentdir . "/" . $file);
- }
- ...
- Et là on voit une erreur (je suppose un raccourci/optimisation trop rapide) : il y a un point ( '.' ) juste avant le égal ( '=' ).
==> Et je me sors du bouiboui ainsi :
- :...
- if ($display_exif == 1)
- {
- $toto = readEXIF($currentdir . "/" . $file);
- $img_captions[$file] = $toto;
- }
- ...
A ce niveau, plus d'erreur PHP crachée dans la page générée.
Mais toujours pas d'affichage des données EXIF à côté du nom du fichier lors de l'affichage de l'image de la galerie.
- Et oui, quelques lignes plus loin (ligne 232), un petit malin a de nouveau afficher ceci :
- :...
- $img_captions[$file] = $file;
- ...
- ==> Je m'en suis sorti ainsi (même si je suppose que l'on peut supprimer carrément la ligne...) :
...
- $img_captions[$file] = $file.$toto;
- ...
Excusez les noms de variables vraiment simpliste (on dira que c'est ma marque de fabrique) et la pull-request un peu "hors process" mais je m'en vais mettre à jour mon serveur ainsi.
Edit: En effet, supprimer la ligne (initialement) 232 fonctionne.
Edit3: Ou pas car visiblement ça n'affiche plus le nom du fichier - juste les données EXIF... :-(
Edit2: Pour les nouveau utilisateur de MinigalNano, il faut bien évidemment que le paramètre '$display_exif' soit à '1' dans le fichier 'config.php'...
Edit4: Bon, à propos de mon idée de supprimer les deux couples de lignes pour la focale et le F-number, ça enlève l'erreur mais ça ne résout pas le problème car cela m'affiche « Canon EOS 550D | 55/1mm | 1/160s | f8/1 | ISO 100 » au lieu de « Canon EOS 550D | 55mm | 1/160s | f8 | ISO 100 ». A bon entendeur... Edit5: je pense que c'est un problème dans le preg_list qui n'aime pas le "/" ou alors qui nous renvoie en fait un mauvaise valeur ou alors il faudrait prendre autre type de split...