The purpose of this sample is add a line with EXIF parameters (time, ISO, exposition time etc.)
to the image page that will be displayed when "Show Details" mode is off.
Please check demo for an example.
Instructions
1. Edit your t_showimg.php page template
and insert the following code in position where you want EXIF info to be diplayed.
| |
<div style="font-size:8pt;white-space:nowrap;text-align:center;">
<? include(DALBUM_ROOT . "/config/exifline.php"); ?>
</div>
|
For example, to add it right below the image, insert it after image closing tag:
| |
<td >
<a href="<?php template('ImageHref');?>">
<img id="Image"
src="<?php template('ImageSrc');?>"
title="<?php template('ImageAlt');?>"
<?php template('ImageWidthHeight'); ?>
alt="">
</a>
|
| |
<div style="font-size:8pt;white-space:nowrap;text-align:center;">
<? include(DALBUM_ROOT . "/config/exifline.php"); ?>
</div>
|
2. Create a file called exifline.php in ./config directory containing the following script
(you can download the script from exifline.zip):
| |
<?php
if ($image->IsImage() && !($bShowDetails && $g_bShowEXIFDetailsButton))
{
if ($g_bForceDAlbumEXIFCode || !extension_loaded('exif'))
{
require_once(DALBUM_ROOT . "/include/exif.php");
$exif=@exif_php_read_data(absfname($image->m_sFullFilename));
}
else
{
$exif=@exif_read_data(absfname($image->m_sFullFilename));
}
if ($exif===false)
$exif=array();
$data=array();
if ($image->m_nX>0 && $image->m_nY>0)
$data[]="|({$image->m_nX}x{$image->m_nY})";
$date="";
if (isset($exif['DateTimeOriginal']))
$date=$exif['DateTimeOriginal'];
if (empty($date) && isset($exif['DateTime']))
$date=$exif['DateTime'];
if (!empty($date))
{
$date=split(':',str_replace(' ',':',$date));
$date="{$date[0]}-{$date[1]}-{$date[2]} {$date[3]}:{$date[4]}:{$date[5]}";
$date=strftime($lang['cExiflineDateFormat'],strtotime($date));
$data[]="|$date";
}
$iso="";
if (isset($exif['ISOSpeedRatings']))
$iso=$exif['ISOSpeedRatings'];
else if (isset($exif['MakerNote']) && isset($exif['ModeArray']))
{
switch (@$exif['ModeArray'][16])
{
case 15: $iso="auto";break;
case 16: $iso="50";break;
case 17: $iso="100";break;
case 18: $iso="200";break;
case 19: $iso="400";break;
}
}
if (!empty($iso))
$data[]="{$lang['showExifISO']}|$iso";
if (isset($exif['ExposureTime']))
{
list($d1,$d2)=split('/',$exif['ExposureTime']);
if ($d1>0 && $d2>0)
$e=$d1/$d2;
else
$e=$exif['ExposureTime'];
if ($e<1 && $e>0)
$e="1/" . round(1/$e,0) . " s";
else
$e=round($e,1) ." s";
$data[]=$lang['cExiflineExposure']."|".$e;
}
if (isset($exif['COMPUTED']['ApertureFNumber']))
$data[]="{$lang['cExiflineAperture']}|{$exif['COMPUTED']['ApertureFNumber']}";
if (isset($exif['Flash']))
{
$e=$lang[($exif['Flash']&1)?'showExifFlashYes':'showExifFlashNo'];
$data[]="{$lang['cExiflineFlash']}|$e";
}
$sExifDetails="";
if (!empty($data))
{
foreach ($data as $d)
{
list($name,$value)=split('\|',$d);
if (!empty($sExifDetails))
$sExifDetails.="; ";
$sExifDetails.="$name$value";
}
}
print $sExifDetails;
}
?>
|
3. Enjoy!
|