04-06-2007, 20:46
|
|
|
|
חבר מתאריך: 09.04.02
הודעות: 8,000
|
|
חלק מקוד שכתבתי פעם (דורש את ההרחבה exif):
קוד PHP:
<?php
if (!isset($_GET['img']) || trim($_GET['img']) == '') die();
$exif = exif_read_data($_GET['img'], 0, false);
// ISO Speed
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;
}
}
else $iso = '';
// Date
if (isset($exif['DateTimeOriginal'])) $date = $exif['DateTimeOriginal'];
else if (isset($exif['DateTime'])) $date = $exif['DateTime'];
if (!empty($date))
{
$date = explode(':', str_replace(' ', ':', $date));
$date = "{$date[2]}/{$date[1]}/{$date[0]} {$date[3]}:{$date[4]}";
}
// Shutter Speed
if (isset($exif['ExposureTime']))
{
list($d1, $d2) = explode('/', $exif['ExposureTime']);
if ($d1 > 0 && $d2 > 0) $exposure = $d1/$d2;
else $exposure = $exif['ExposureTime'];
if ($exposure < 1 && $exposure > 0) $exposure = '1/'.round(1/$exposure, 0);
else $exposure = round($exposure, 1);
}
else $exposure = '';
// Aperture
if (isset($exif['COMPUTED']['ApertureFNumber'])) $aperture = $exif['COMPUTED']['ApertureFNumber'];
else $aperture = '';
// Flash
if (isset($exif['Flash'])) $flash = $exif['Flash']&1 ? 'Yes' : 'No';
// Make & Model
if (isset($exif['Make']) && isset($exif['Model']))
{
$model = $exif['Model'] ? trim(str_replace($exif['Make'], '', $exif['Model'])) : '';
$make = $exif['Make'] ? $exif['Make'] : '';
}
// Focal Length
if (isset($exif['FocalLength']))
{
$focal = explode('/', $exif['FocalLength']);
$focal = $focal[0]/$focal[1].'mm';
}
else $focal = '';
|