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

Тема в разделе "PHP", создана пользователем panda4ever, 17 апр 2012.

Модераторы: latteo
  1. panda4ever

    panda4ever Создатель

    Регистр.:
    7 окт 2007
    Сообщения:
    30
    Симпатии:
    0
    Привет всем, есть вопрос, как вырвать именно геотаги фотки из exif в жпг?
    Есть такой легкий прием нагугленный
    PHP:
    <?
    $info exif_read_data('test.jpg');
    var_dump($info);
    ?> 
    НО в нём выдает кучу мусора которая не нужна, такая как когда на чем и прояая фигня.
    Как вырвать именно сами координаты и чтобы они выввалились в виде текста а отслаьное не показывалось?
     
  2. DrakonHaSh

    DrakonHaSh

    Регистр.:
    29 июн 2010
    Сообщения:
    358
    Симпатии:
    122
    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"
    
     
    panda4ever нравится это.
  3. panda4ever

    panda4ever Создатель

    Регистр.:
    7 окт 2007
    Сообщения:
    30
    Симпатии:
    0
    Привет, спасибо за быстрый ответ.
    НО вот вопрос...
    Я немного изменил твой код, как я думал правильно, но не выдает что нужно, где я ошибься?
    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
     
  4. DrakonHaSh

    DrakonHaSh

    Регистр.:
    29 июн 2010
    Сообщения:
    358
    Симпатии:
    122
    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];

     
    panda4ever нравится это.