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...
(
Permalink)