Вырвать geotag из фотки.

panda4ever

Создатель
Регистрация
7 Окт 2007
Сообщения
30
Реакции
0
Привет всем, есть вопрос, как вырвать именно геотаги фотки из exif в жпг?
Есть такой легкий прием нагугленный
PHP:
<?
$info = exif_read_data('test.jpg');
var_dump($info);
?>
НО в нём выдает кучу мусора которая не нужна, такая как когда на чем и прояая фигня.
Как вырвать именно сами координаты и чтобы они выввалились в виде текста а отслаьное не показывалось?
 
PHP:
$info = exif_read_data('c:\Temp\xx.jpg');
echo "<pre>";
var_dump($info);
echo "\n\n".$info["FileName"];
echo "\n\n".$info["COMPUTED"]["html"];
=>
Код:
array(12) {
  ["FileName"]=>
  string(6) "xx.jpg"
  ["FileDateTime"]=>
  int(1334306785)
  ["FileSize"]=>
  int(142298)
  ["FileType"]=>
  int(2)
  ["MimeType"]=>
  string(10) "image/jpeg"
  ["SectionsFound"]=>
  string(20) "ANY_TAG, IFD0, WINXP"
  ["COMPUTED"]=>
  array(5) {
    ["html"]=>
    string(24) "width="760" height="681""
    ["Height"]=>
    int(681)
    ["Width"]=>
    int(760)
    ["IsColor"]=>
    int(1)
    ["ByteOrderMotorola"]=>
    int(0)
  }
  ["Title"]=>
  string(2) "xx"
  ["Comments"]=>
  string(2) "vv"
  ["Author"]=>
  string(2) "zz"
  ["Keywords"]=>
  string(2) "cc"
  ["Subject"]=>
  string(2) "yy"
}


xx.jpg

width="760" height="681"
 
Привет, спасибо за быстрый ответ.
НО вот вопрос...
Я немного изменил твой код, как я думал правильно, но не выдает что нужно, где я ошибься?
PHP:
<?
 
$info = exif_read_data('test.jpg');
echo "<pre>";
var_dump($info);
echo "\n\n".$info["FileName"];
echo "\n\n".$info["GPSLatitude"]["GPSLongitude"];
 
?>

Код:
array(39) {
  ["FileName"]=>
  string(8) "test.jpg"
  ["FileDateTime"]=>
  int(1334660554)
  ["FileSize"]=>
  int(1693092)
  ["FileType"]=>
  int(2)
  ["MimeType"]=>
  string(10) "image/jpeg"
  ["SectionsFound"]=>
  string(33) "ANY_TAG, IFD0, EXIF, GPS, INTEROP"
  ["COMPUTED"]=>
  array(5) {
    ["html"]=>
    string(26) "width="3264" height="1952""
    ["Height"]=>
    int(1952)
    ["Width"]=>
    int(3264)
    ["IsColor"]=>
    int(1)
    ["ByteOrderMotorola"]=>
    int(1)
  }
  ["Make"]=>
  string(3) "HTC"
  ["Model"]=>
  string(16) "HTC Incredible S"
  ["XResolution"]=>
  string(4) "72/1"
  ["YResolution"]=>
  string(4) "72/1"
  ["ResolutionUnit"]=>
  int(2)
  ["YCbCrPositioning"]=>
  int(1)
  ["Exif_IFD_Pointer"]=>
  int(144)
  ["GPS_IFD_Pointer"]=>
  int(360)
  ["ISOSpeedRatings"]=>
  int(100)
  ["ExifVersion"]=>
  string(4) "0220"
  ["DateTimeOriginal"]=>
  string(19) "2012:04:17 13:39:45"
  ["DateTimeDigitized"]=>
  string(19) "2012:04:17 13:39:45"
  ["ComponentsConfiguration"]=>
  string(4) ""
  ["FocalLength"]=>
  string(7) "457/100"
  ["FlashPixVersion"]=>
  string(4) "0100"
  ["ColorSpace"]=>
  int(1)
  ["ExifImageWidth"]=>
  int(3264)
  ["ExifImageLength"]=>
  int(1952)
  ["InteroperabilityOffset"]=>
  int(330)
  ["GPSVersion"]=>
  string(3) ""
  ["GPSLatitudeRef"]=>
  string(1) "N"
  ["GPSLatitude"]=>
  array(3) {
    [0]=>
    string(4) "59/1"
    [1]=>
    string(4) "26/1"
    [2]=>
    string(8) "1376/100"
  }
  ["GPSLongitudeRef"]=>
  string(1) "E"
  ["GPSLongitude"]=>
  array(3) {
    [0]=>
    string(4) "24/1"
    [1]=>
    string(4) "48/1"
    [2]=>
    string(7) "363/100"
  }
  ["GPSAltitudeRef"]=>
  string(1) ""
  ["GPSAltitude"]=>
  string(3) "0/1"
  ["GPSTimeStamp"]=>
  array(3) {
    [0]=>
    string(4) "10/1"
    [1]=>
    string(4) "39/1"
    [2]=>
    string(4) "45/1"
  }
  ["GPSMapDatum"]=>
  string(6) "WGS-84"
  ["GPSProcessingMode"]=>
  string(15) "ASCIINETWORK"
  ["GPSDateStamp"]=>
  string(10) "2012:04:17"
  ["InterOperabilityIndex"]=>
  string(3) "R98"
  ["InterOperabilityVersion"]=>
  string(4) "0100"
}
 
 
test.jpg
 
PHP:
$info = exif_read_data('test.jpg');
echo "<pre>";
var_dump($info);
echo "\n\n".$info["FileName"];

echo "\n\n".$info["GPSLatitude"][0]
echo "\n\n".$info["GPSLatitude"][1]
echo "\n\n".$info["GPSLatitude"][2]
echo "\n\n".$info["GPSLongitude"][0];
echo "\n\n".$info["GPSLongitude"][1];
echo "\n\n".$info["GPSLongitude"][2];
 
Назад
Сверху