[Réglé]Metadonnées, infos exifs

Forum consacré à phpBB lui même. Comment tirer le meilleur de ce puissant forum.
Veuillez noter que ce forum n'est pas un forum de support officiel, il s'agit ici plus de partager que de demander.

Modérateur: Modérateurs

[Réglé]Metadonnées, infos exifs

Messagede Phrey » Sam Jan 05, 2008 1:39 pm

Bonjour,
dabord je ne suis pas sur d'être dans le bon forum pour poster, ttes mes excuses si c'est le cas.

Je cherche (depuis lgtps et desesperement) le moyen de faire apparaitre automatiquement dans les posts, les infos exifs (métadonnées) contenues dans les photos issues d'appareils photo numeriques (ca pourrait dailleurs interesser bcp de forums photo je pense).

J'ai un site en php sur lequel ces données sont bien extraites automatiquement des photos, mais je ne sais pas si c'est adaptable aux forums phpbb3 ?

Au cas ou, je vous livre qques infos qui permettront peut etre à une âme charitable (et hautement qualifiée !) de faire cette adaptation ?

Appercu (photo + infos exifs) : http://www.naturellement-photo.com/inde ... 357dc9.jpg
>>> Dans mon fichier "image.php" (qui n'a sans doute rien a voir avec ce qu'on peut trouver dans les forums phpbb3 evidement) j'ai cette fonction :
Code: Tout sélectionner
<?php $exif = getExif(); ?>
    <div id="desc">
       
       
        <div id="exifdata">
        <span>Exif Data</span>
               
        <ul>
            <?php
                if($exif['model'])                         echo'<li>'.$exif['model'].'</li>';
                if($exif['flash'])                         echo'<li>Flash : '.$exif['flash'].'</li>';
                if($exif['ouverture'])                         echo'<li>Av : f/'.$exif['ouverture'].'</li>';
                if($exif['vitesse'])                         echo'<li>Tv : 1/'.$exif['vitesse'].'</li>';
                if($exif['iso'])                         echo'<li>ISO : '.$exif['iso'].'</li>';
                if($exif['focale'])                         echo'<li>focale : '.$exif['focale'].' mm</li>';
            ?>
        </ul>
        </div>
    </div>


>>> Dans mon fichier "theme-function.php" j'ai ce code :
Code: Tout sélectionner
<?php
require_once("exif.inc.php");

//---------------------------------------------------------------------
    // Tags exifs que l'on desire recuperer : le TAG renvoi au fichier exif.inc.php ////// $info[toto] recupere cette valeur "toto" dans le fichier image.php pour apparaitre à l'écran
    //---------------------------------------------------------------------
   
function getExif() {
   $path = urldecode(getFullImageURL());
   $url = '.' . $path; // CHANGE THIS TO $url = '.' . $path; IF YOUR ZENPHOTO INSTALLATION IS AT THE BASE DIRECTORY
   $info = array();
   

   $er = new phpExifRW($url);
   $er->processFile();
    if ($er->ImageInfo[TAG_MAKE]){
            $info['model'] = $er->ImageInfo[TAG_MODEL];
    }       
    if ($er->ImageInfo["DateTime"]){
            $info['datetime'] = $er->ImageInfo[TAG_DATETIME_ORIGINAL];
         
    }            
       
    if ($er->ImageInfo[TAG_FLASH] >= 0){
            $info['flash'] = $er->ImageInfo[TAG_FLASH] ? "Yes" :"No";
    }            
    if ($er->ImageInfo[TAG_FNUMBER]){
            $info['ouverture'] = (double)$er->ImageInfo[TAG_FNUMBER][0];
   }
   if ($er->ImageInfo[TAG_EXPOSURETIME]){
            $info['vitesse'] = 1/(double)$er->ImageInfo [TAG_EXPOSURETIME][0];
   }      
   if ($er->ImageInfo[TAG_FOCALLENGTH]){
            $info['focale'] = $er->ImageInfo[TAG_FOCALLENGTH][0];
                   
   }         
    if ($er->ImageInfo[TAG_ISO_EQUIVALENT]){
            $info['iso'] = (int)$er->ImageInfo[TAG_ISO_EQUIVALENT];
    }
   return($info);
}
?>


Pour finir,
>>> je vous fourni mon fichier "exif.inc.php" :
(à telecharger) : http://www.naturellement-photo.com/them ... if.inc.rar

A votre bon coeur ! :D
Dernière édition par Phrey le Dim Jan 13, 2008 3:46 pm, édité 2 fois.
Phrey
PR0
PR0
 
Messages: 98
Inscription: Sam Mai 06, 2006 1:17 pm

Publicité

Messagede SeO » Sam Jan 05, 2008 1:54 pm

En fait, tu voudrais ajouter les donnée exifs aux photos jointes aux messages du forum c'est ça ?
SeO
Admin
Admin
 
Messages: 6334
Inscription: Mer Mar 15, 2006 9:41 pm

Messagede Phrey » Sam Jan 05, 2008 2:06 pm

C'est EXACTEMENT ca ! :D Mais j'ai beau bidouiller un peu, ce n'est pas dans mes competences....
Phrey
PR0
PR0
 
Messages: 98
Inscription: Sam Mai 06, 2006 1:17 pm

Messagede SeO » Sam Jan 05, 2008 2:38 pm

J'ai pas le temps de fouiller plus tout de suite, mais ça doit pouvoir se faire à cet endroit de includes/functions_content.php :

Code: Tout sélectionner
            // Images
            case ATTACHMENT_CATEGORY_IMAGE:
               $l_downloaded_viewed = 'VIEWED_COUNT';
               $inline_link = append_sid("{$phpbb_root_path}download/file.$phpEx", 'id=' . $attachment['attach_id']);
               $download_link .= '&amp;mode=view';

               $block_array += array(
                  'S_IMAGE'      => true,
                  'U_INLINE_LINK'      => $inline_link,
               );

               $update_count[] = $attachment['attach_id'];
            break;

            // Images, but display Thumbnail
            case ATTACHMENT_CATEGORY_THUMB:
               $l_downloaded_viewed = 'VIEWED_COUNT';
               $thumbnail_link = append_sid("{$phpbb_root_path}download/file.$phpEx", 'id=' . $attachment['attach_id'] . '&amp;t=1');
               $download_link .= '&amp;mode=view';

               $block_array += array(
                  'S_THUMBNAIL'      => true,
                  'THUMB_IMAGE'      => $thumbnail_link,
               );
            break;


if faudrait dans ces deux cas prendre les données exifs du fichier image source et ajouter une variable de plus au tableau $block_array que l'on pourrait ensuite récupérer dans le template pour qu'il s'affiche dans les messages, avec un "if" pour les cas ou il n'y a rien à afficher.
SeO
Admin
Admin
 
Messages: 6334
Inscription: Mer Mar 15, 2006 9:41 pm

Messagede Phrey » Sam Jan 05, 2008 3:07 pm

Merci pour ces infos ! Pour moi ca reste du chinois :lol: , mais à l'occasion si tu as le temps...
Si je peux aider ca sera avec plaisir, ou moins faire des tests... Mais je ne connais pas bien le fonctionnement des variables etc.... Et puis dans quel template on recupere ca etc... ?
Bref à l'occasion... :wink:
Phrey
PR0
PR0
 
Messages: 98
Inscription: Sam Mai 06, 2006 1:17 pm

Messagede Phrey » Dim Jan 06, 2008 6:36 pm

Peut etre un lien avec des infos qui pourrait aider à la mise en place de ce code ?

http://www.siteduzero.com/tuto-3-10251- ... d=26&gl=fr
Phrey
PR0
PR0
 
Messages: 98
Inscription: Sam Mai 06, 2006 1:17 pm

Messagede dcz » Lun Jan 07, 2008 10:48 am

Le principe n'est pas compliqué, c'est le temps de le faire ;)
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21376
Inscription: Ven Avr 28, 2006 9:03 pm

Messagede Phrey » Lun Jan 07, 2008 12:06 pm

Oui enfin pas compliqué, ca depend pour qui ! :lol:
Mais c'est vrai que le temps fait defaut... rien ne presse, mais c'est vrai que c'est vraiment un truc à avoir qd on a un forum photo... Ca aide bcp à comprendre la technique photo etc... :D
Phrey
PR0
PR0
 
Messages: 98
Inscription: Sam Mai 06, 2006 1:17 pm

Messagede Phrey » Sam Jan 12, 2008 10:14 am

Aprés moultes recherches je me rend compte qu'on ne peut pas utiliser les fonctions automatiques de php pour extraire ces exifs, il faut donc bien un fichier comme "exif.inc.php" (fourni plus haut)

D'autre part histoire de relancer un peu le débatje vous fais part un peu de la façon dont je verrais la chose.

On pas besoin d'extraire bcp d'infos, celles ci suffiraient :
Focale (en mm)| Ouverture (f) | Vitesse (en secondes) |ISO (ISO)

Ce qui donnerait par exemple :
100mm | f5,6 | 1/250s | 200 ISO

Qu'on pourrait faire afficher sous chaque photo (jpg) jointe :
Image

Si on est trés fort on permet de gerer la couleur d'affichage, et eventuellement on peut imaginer une page dans la console d'admin pour cocher les valeurs exifs qu'on veut voir afficher... on peut tjrs rever hein ! :lol:

Mais peut etre que je m'emballe.... :?
Toujours personne pour un petit coup de main ?
Phrey
PR0
PR0
 
Messages: 98
Inscription: Sam Mai 06, 2006 1:17 pm

Messagede Phrey » Sam Jan 12, 2008 11:33 am

Bon à force de chercher (et de parler tout seul :lol: ) j'ai fini par arriver a qqchose, mais j'ai un pb pour recuperer le nom du fichier joint, donc mon nom de fichier est "en dur" pour l'instant... (et mene vers une photo qui n'a rien a voir avec le fichier evidement)
Code: Tout sélectionner
$filename = "02280003.jpg";


Savez vous comment recuperer le nom du fichier joint ? quelle variable svp ? Ca semble compliqué car les fichier joint sont stockés dans "files" et sans extensions... via le fichier "file.php".. bref je patauge encore bien ! Toute aide reste la bienvenue !!!

Pour l'instant j'etudie la table phpbb_attachments et son fonctionnement ! (o secours ! :lol: )
Image
Phrey
PR0
PR0
 
Messages: 98
Inscription: Sam Mai 06, 2006 1:17 pm

Messagede Phrey » Sam Jan 12, 2008 8:22 pm

Je poursuis sur ma lançée , vous m'arretez qd vous en avez marre.

J'ai reussi a extraire le nom d'un fichier joint en fonction du no id du topic ou il se trouve et de celui du message ou il est joint, ce qui veut dire que je peux mettre en relation, une photo jointe et ses exifs dans le meme posts, ce qui donne (en php) :

Image

Code: Tout sélectionner
$sql = 'SELECT p.physical_filename
FROM ' . ATTACHMENTS_TABLE . ' p, ' . POSTS_TABLE . ' f
INNER JOIN ' . POSTS_TABLE . ' ON p.topic_id = f.topic_id
WHERE f.topic_id = "34"
AND f.post_id = "242"';


MAIS ! Comme on le voit les valeurs sont en dur, car je suis infoutu de ramener les valeurs correspondant au topic en cours, et au fichier joint qu'il contient. (vous remarquer aussi que je parle que d'un seul fichier joint, car si ils sont pluseurs je devrait revoir ma requete, mais on en est pas encore là !)

Il se peut aussi que pour bien faire il faille taper dans d'autres tables ou sur d'autres champs... bref tout peut etre FAUX ! :lol:

Bref si vous savez comment modifier ma requete je suis tout ouie !!!
A bientot !
Phrey
PR0
PR0
 
Messages: 98
Inscription: Sam Mai 06, 2006 1:17 pm

Messagede hawk88 » Sam Jan 12, 2008 10:37 pm

Bonsoir,


C'est bien sur la page viewtopic que tu cherches ?
Donc pour ce qui est des variables tu as

$post_id et $topic_id pour justement tes valeurs.

Si j'ai bine compris tu veux récupérer le nom du fichier joint pour ensuite avec une fonction récupérer les données exifs ?

Je vais regarder pour éviter de rajouter une requete sql ;)

Edit : oups en faite sur phpbb3 je ne sais pas (j(utilise encore phpbb2) mais j'essairais de regarder quand meme
Carte virtuelle pour anniversaire, mariage et naissance Faire-Part Virtuelle || Pronostics des matchs de foot sur Toufoot.com Pronostics match de Football || Jeu-Arcade.net, plus de 4000 jeux d'arcade Jeux gratuit d'arcade flash
hawk88
PR2
PR2
 
Messages: 286
Inscription: Ven Jan 05, 2007 9:16 pm

Messagede Phrey » Sam Jan 12, 2008 11:12 pm

Exactement, il s'agit de ces 2 variables (depuis viewtopic, oui) ! :D

Je souhaiterait pouvoir les inclure dans ma requete, à la place des valeurs "en dur" de f.topic_id = "34" et f.post_id = "242"

Mais j'ai beau tirer et pousser dans tous les sens, je ne ramene que des erreurs sql ou des erreurs de syntaxes, ce qui revient au meme : je bloque ! :x :lol:

Un coup de main ne serait pas de refus !
Merci ! :wink:
Phrey
PR0
PR0
 
Messages: 98
Inscription: Sam Mai 06, 2006 1:17 pm

Messagede hawk88 » Dim Jan 13, 2008 1:19 am

Comment récupére tu les exifs des images , avec une fonction

exif($image) ;

Car je pense avoir une solution mais la je vais me coucher je suis fatigué, je verrais ce dimanche, tout a l'heure en faite :p
Carte virtuelle pour anniversaire, mariage et naissance Faire-Part Virtuelle || Pronostics des matchs de foot sur Toufoot.com Pronostics match de Football || Jeu-Arcade.net, plus de 4000 jeux d'arcade Jeux gratuit d'arcade flash
hawk88
PR2
PR2
 
Messages: 286
Inscription: Ven Jan 05, 2007 9:16 pm

Messagede Phrey » Dim Jan 13, 2008 7:38 am

Merci pour ton aide !
En fait j'ai une variable $filename dans laquelle je renseigne le chemin d'accés au fichier (soit ./files/xxxxx). Je recupere ce nom de fichier grace a ma requete sql donc.

Puis j'utilise le fichier de config des exifs :
Code: Tout sélectionner
require("exif.inc")


Je lance le truc :
Code: Tout sélectionner
$er = new phpExifRW($filename);
$er->processFile();


je montre les infos :
Code: Tout sélectionner
$er->showImageInfo();


MON PB DE REQUETE :

Code: Tout sélectionner
$sql = SELECT post_id
FROM ' . POSTS_TABLE . '
WHERE post_id = ' . $post_id;


j'ai recupéré cette requete dans "viewtopic.php" pour faire un test, et je l'ai copié dans mon fichier me servant pour ramené les infos exifs (example.php) et il me ramene qu'il ne trouve aucun enregistrement à afficher.... alors que cette requete fonctionne bien si je met une valeur en dur (54 par exemple) à la place de la variable $post_id...

Mystere... :?
Phrey
PR0
PR0
 
Messages: 98
Inscription: Sam Mai 06, 2006 1:17 pm

Suivante

Retourner vers Le Forum phpBB

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 11 invités