Я использую, чтобы показать EXIF данные изображения.
это код
<?php
$filename = "http://www.rallyfun.net/images/20140921231511_img_7369.jpg";$exif = exif_read_data($filename, 0, true);
echo "Exposure: " . $exif["EXIF"]["ExposureTime"] . " sec.<br />";
echo "F: " . $exif["EXIF"]["FNumber"] . "<br />";
echo "ISO: " . $exif["EXIF"]["ISOSpeedRatings"] . "<br />";
?>
это результат:
Exposure: 1/6400 sec.
F: 63/10 sec.
ISO: 1000
результат в порядке, за исключением диафрагмы: он должен отображаться как (в данном случае) 6.3, поэтому мне нужно разделить первое число (63) на число после «/» (10).
как?
Вы можете использовать взрываться за это.
$tmp = explode('/', str_replace(' sec.', '', $exif["EXIF"]["FNumber"]));
echo "F: " . ($tmp[0]/$tmp[1]) . "sec<br />";
Вы можете использовать этот код для отображения апертуры:
preg_match('/([0-9]+)\/([0-9]+)/',$exif["EXIF"]["FNumber"],$m);
if($m[1] && $m[2])
{
$newaperture = $m[1]/$m[2];
echo $newaperture;
}
Попробуйте следующее:
$n = $exif["EXIF"]["FNumber"];
$whole = floor($n); // 63
$fraction = $n - $whole; // .10
$result=$whole/$fraction;