Как получить панорамные данные Exif в PHP?

Я пытаюсь прочитать данные XMP-G Pano из панорамного изображения, но он не возвращает полные данные Exif. Я использую этот код.

$filename = 'panorama.jpeg';
$exif =  read_exif_data($filename, "EXIF");
foreach ($exif as $key => $value) {
    if(is_array($value)){
        foreach ($value as $vkey => $vvale) {
            echo $vvale;
        }
        echo "<br/>";
    }else{
        echo $value."<br/>";
    }
}

Данные XMP-G Pano можно увидеть при проверке файла с exifdata.com Проверить изображение


person Hasan Ali    schedule 07.04.2017    source источник


Ответы (1)


Я считаю, что, поскольку XMP встроен в изображение, вы можете использовать синтаксический анализатор XML для получения информации:

$content = file_get_contents($image);
$xmp_start = strpos($content, '<x:xmpmeta');
$xmp_end   = strpos($content, '</x:xmpmeta>');
$xmp_length = $xmp_end - $xmp_start;
$data = substr($content, $xmp_start, $xmp_length + 12);
$xmp = simplexml_load_string($xmp_data);

связанный вопрос

person ren.rocks    schedule 07.04.2017