cnlpete/image-metadata-parser

An abstraction to Exif, ITPC and XMP

Installs: 272

Dependents: 2

Stars: 18

Watchers: 3

Forks: 6

Language: PHP

v0.0.6 2014-11-18 11:12 UTC

README

Hi! Image-Metadata-Parser is a set of php function which try to simplify the access to some imagefiles metadata (exif, itpc or xmp).

Usage

To use Image-Metadata-Parser, you simply need to place the class somewhere accessible within your application.

Then you can create a new ParserObject with some imagefile and read its metadata.

<?php
include('inc/imageMetadataParser.php');

$imageparser = new ImageMetadataParser('path/to/imagefile.jpg');
if (!$imageparser->parseExif())
  echo "Parsing of Exif Data failed";
if (!$imageparser->parseIPTC())
  echo "Parsing of IPTC failed";

Get the title

if ($imageparser->hasTitle())
  echo "Image Title: " . $imageparser->getTitle();

get the date and time

if ($imageparser->hasDateTime())
  echo "Image Taken At: " . date('r', $imageparser->getDateTime());

get a thumbnail

if ($imageparser->hasThumbnail()) {
  echo "<img src='data:" . 
      $imageparser->getThumbnailContentType() .
      ";base64," .
      base64_encode( $imageparser->getThumbnail() ) .
      "' />";
}

check the orientation

if ($imageparser->hasOrientation())
  if ($imageparser->getOrientation() === 0)
    echo "Image is oriented properly.<br />\n";
  else
    echo "Image needs to be rotated with imagerotate(image, " . $imageparser->getOrientation() . ", 0);<br />\n";

get the gps coordinates

if ($imageparser->hasGPS()) {
  $dLat = 0; $dLong = 0;
  $imageparser->getGPS($dLat, $dLong);
  echo "approximate GPS position: " .
      "<a href='https://maps.google.com/maps?q=" . $dLat . "," . $dLong . "'>Lat: " . $dLat . " Long: " . $dLong . "</a>";
}

Hope you find it useful! :)