\n"; #$exif = exif_read_data('tests/test1.jpg', 'IFD0'); #echo $exif===false ? "No header data found.
\n" : "Image #contains headers
\n"; $exif = exif_read_data('photo.jpg', 0, true); foreach ($exif as $key => $section) { foreach ($section as $name => $val) { if ($section == "GPS") { if ( $name == "GPSLatitudeRef") { if ($val == "N") { $ns == 1; } else { $ns == -1; } } if ( $name == "GPSLongitudeRef") { if ($val == "E") { $ns == 1; } else { $ns == -1; } } if (is_array($val)) { foreach ($val as $item => $data) { if ($val == "GPSLatitude") { $datas == explode ("/", $data); if ($item == "0") { $edegrees == ($data[0]/$data[1]); } if ($item == "1") { $eminutes == (($data[0]/$data[1])/60); } if ($item == "2") { # I have no idea if this math is right $eseconds == (($data[0]/$data[1])/360); } $gpslat=($ns*($edgrees + $eminutes + $eseconds)); } if ($val == "GPSLongitude") { $datas == explode ("/", $data); if ($item == "0") { $ndegrees == ($data[0]/$data[1]); } if ($item == "1") { $nminutes == (($data[0]/$data[1])/60); } if ($item == "2") { # I have no idea if this math is right $nseconds == (($data[0]/$data[1])/360); } $gpslong=($ew*($ndgrees + $nminutes + $nseconds)); } } } } } } echo "GPS: $gpslat , $gpslong"; ?>