<?php
include("xmp_parser.php");
function xmp_parse($file) {
$xmpdata_start = strpos($source,"<x:xmpmeta");
$xmpdata_end = strpos($source,"</x:xmpmeta>");
$xmplenght = $xmpdata_end-$xmpdata_start;
$xmpdata = substr($source,$xmpdata_start,$xmplenght+12
);
//$xmpdata = str_replace("\t","",$xmpdata);
$description_start = '<dc:description> <rdf:Alt> <rdf:li xml:lang="x-default">'; //hopefully the spaces are regular here.
$description_end = '</rdf:li>';
$description = explode($description_start, $xmpdata);
$description = explode($description_end, $description[1
]);
$description = $description[0];
$lens_start = 'aux:Lens="';
$lens_end = '" ';
$lens = explode($lens_start, $xmpdata);
$lens = explode($lens_end, $lens[1
]);
$lens = $lens[0];
return Array('description' => $description, 'lens' => $lens);
}
foreach ($files as $file) {
$cutline = $exif['IFD0']['ImageDescription'];
$shutter = $exif['EXIF']['ExposureTime'];
$aperture = $exif['COMPUTED']['ApertureFNumber'];
$datetime = $exif['EXIF']['DateTimeOriginal'];
$focallength = (int) $exif['EXIF']['FocalLength'];
$focallength .= "mm";
$iso = $exif['EXIF']['ISOSpeedRatings'];
$date_time_pieces = explode(" ", $datetime);
$_time = $date_time_pieces[1];
//print_r($_iptc);
$iptc_cutline = $iptc['2#120'][0];
//print_r($iptc);
$xmp = xmp_parse($file);
$image = Array('file' => $file,
'date' => $_date,
'time' => $_time,
'shutterspeed' => $shutter,
'aperture' => $aperture,
'focallength' => $focallength,
'iso' => $iso,
'cutline' => $cutline,
'iptc_cutline' => $iptc_cutline,
'xmp_cutline' => $xmp['description'],
'xmp_lens' => $xmp['lens']
);
$images[$datetime] = $image;
}
krsort($images); //maintain keys, reverse sort
?>
<html>
<head>
<title>Ivar Vong Photography - 365</title>
<link href="365.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="wrapper">
<div class="header">
<h2>365?</h2>
</div>
<div class="images">
<?php
foreach ($images as $image) {
$content = "<div class='image'>\n";
$content .= "<strong>" . $image['date'] . "</strong> | " . $image['time'] . " | ";
$content .= $image['focallength'] . " | ";
$content .= $image['aperture'] . " | ";
$content .= $image['shutterspeed'] . " sec | ";
$content .= "ISO".$image['iso'] . "";
$content .= "<br>\n";
$file = $image['file'];
$content .= "<img src='$file' /><br>\n";
if ($image['cutline']) {
$content .= $image['cutline'] . "<br>\n";
} else if ($image['iptc_cutline']) {
$content .= $image['iptc_cutline'] . "<br>\n";
} else if ($image['xmp_cutline']) {
$content .= $image['xmp_cutline'] . "<br>\n";
} else {
$content .= "(no cutline information currently available)<br>\n";
}
$content .= "</div>\n\n";
echo $content;
}
?>
</div>
<?php
echo "<br><br><br><br><br><br>\nDebug:<br>\n<pre>\n";
echo "</pre>";
?>
</div>
</body>
</html>