PROJET AUTOBLOG


Shaarli | Orangina Rouge

source: Shaarli | Orangina Rouge

⇐ retour index

Orientation exif pas respéctée · Issue #2 · sebsauvage/MinigalNano · GitHub

lundi 24 février 2014 à 17:49
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)