exif — извлечение и вычисление подстроки PHP

Я использую, чтобы показать 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).

как?

-2

Решение

Вы можете использовать взрываться за это.

$tmp = explode('/', str_replace(' sec.', '', $exif["EXIF"]["FNumber"]));
echo "F: " . ($tmp[0]/$tmp[1]) . "sec<br />";
0

Другие решения

Вы можете использовать этот код для отображения апертуры:

preg_match('/([0-9]+)\/([0-9]+)/',$exif["EXIF"]["FNumber"],$m);
if($m[1] && $m[2])
{
$newaperture = $m[1]/$m[2];
echo $newaperture;
}
0

Попробуйте следующее:

$n = $exif["EXIF"]["FNumber"];
$whole = floor($n);      // 63
$fraction = $n - $whole; // .10

$result=$whole/$fraction;
0
По вопросам рекламы [email protected]