2010-08-11 17 views
6

Où est-ce qu'on insère des méta-données dans et un fichier d'image et à quoi marque-t-il le faire? Je veux le faire avec php.Comment puis-je ajouter des métadonnées à une image?

+2

Avec quel type d'imagerie travaillez-vous? PNG? Bitmaps? JPEGs? –

+0

@Thomas Owens - Je pense qu'ils signifient plus de métadonnées non binaires, comme les balises '' ou les attributs 'alt' ... –

Répondre

4

intégration Php dans images;)

http://bechtsoudis.com/archive/2011/09/08/php-code-into-jpeg-metadata-from-hide-to-unhide/index.html

JPEG, TIFF, PSD, Raw et plusieurs autres formats de fichiers peuvent inclure tout ou partie tous les types standard de métadonnées suivantes:

IPTC-IIM Souvent appelé "ancien" IPTC, ce schéma a été développé au début des années 1990, principalement pour aider les organisations de presse à sous-titrer les premières images numériques. Son principal avantage est que la plupart des programmes d'édition et de gestion d'images peuvent lire et écrire ses champs largement compatibles.

IPTC Core & Extension Ce schéma récent construit sur l'héritage de l'IIM en ajoutant plus de types d'informations descriptives et administratives, y compris de nouveaux domaines pour répondre aux besoins des communautés de photographie et patrimoine culturel, emballés dans un ensemble de données plus robuste format "XMP". Le système universel de licence d'images pour identifier et définir les licences d'utilisation d'images décrit un schéma et des outils pour générer une chaîne de caractères permettant d'identifier un détenteur de droits d'auteur, un utilisateur, une portée et des conditions d'utilisation d'une image sous licence.

XMP Il s'agit du format de données le plus récent utilisé par IPTC Core et Extension pour stocker et accéder aux métadonnées d'image. Il permet le stockage des métadonnées dans un fichier image ou dans un fichier sidecar associé, et permet la création de champs de métadonnées personnalisés. Ces métadonnées, souvent créées par des caméras et d'autres périphériques de capture, incluent des informations techniques sur une image et sa méthode de capture, telles que les paramètres d'exposition, le temps de capture, les informations de localisation GPS et le modèle de caméra.

Dublin Core De nombreuses bibliothèques d'images et une grande variété d'industries stockent des informations avec des fichiers image en utilisant ce schéma. Plusieurs de ses champs sont interopérables avec les formats IPTC.

+0

Mes excuses:/ – PotatoChip

+0

Est-ce que les métadonnées s'appliquent uniquement à l'image JPEG? Qu'en est-il de PNG et de GIF? –

+0

Mise à jour de ma réponse originale avec quelques informations – PotatoChip

0

En PHP, vous pouvez utiliser les en-têtes:

exemple:

header('Content-Length: ' . filesize($file)); /// that's the file size 

Vous pouvez ajouter des en-têtes comme celui-là et il fonctionnera.Vous pouvez même envoyer des en-têtes personnalisés et il fonctionne toujours :)

+0

Il ne fera pas de métadonnées partie du fichier image, mais une partie de la réponse HTTP, de sorte qu'ils seront perdus si l'utilisateur enregistre l'image du fichier. Sans mentionner que les en-têtes HTTP personnalisés doivent commencer par un 'X-' – Xenos

1

Vous pouvez aller pour la fonction iptcembed en PHP pour ajouter des informations à l'image. l'utilisation peut être trouvée à: http://php.net/manual/en/function.iptcembed.php

Les données ajoutées pourraient être récupérées en utilisant la fonction iptcparse.

Faites-moi savoir si cela fonctionne pour vous.

+0

+1 pour l'intégration IPTC mais malheureusement, iptcembed n'est pas suffisant pour manipuler dans la plupart des cas, il a également des problèmes avec les données d'en-tête multi-octets. et ne supporte que JPEG. plus: iptc.org. Je conseille d'utiliser imagemagick avec un simple wrapper php. ce qui sera beaucoup plus efficace sur l'utilisation de la mémoire, la performance et la disponibilité – risyasin