Как записать обратно извлеченные exif-данные (в основном GPS) после сжатия изображений в PHP - PullRequest
1 голос
/ 18 марта 2019

Я работаю над сервисом для загрузки изображений с телефона. После поворота и изменения размера изображений мои exif-данные теряются в начале я его извлекаю. Итак, я знаю, что есть GPS

$filename = pathinfo($_FILES['datei']['name'], PATHINFO_FILENAME);
$extension = strtolower(pathinfo($_FILES['datei']['name'], PATHINFO_EXTENSION));
$exif = exif_read_data($_FILES['datei']['tmp_name']);
$gps  = $exif['GPS']

(я могу даже показать это на карте для тех, кто заинтересован:)

// If there is no GPS branch 
if( empty( $exif['GPS'] ) ) {
    // Redirect to the main with the error
    echo('Keine GPS-Daten');
    exit();
}
        // Latitude
$latitude['degrees'] = getCoord( $exif['GPS']['GPSLatitude'][0] );
$latitude['minutes'] = getCoord( $exif['GPS']['GPSLatitude'][1] );
$latitude['seconds'] = getCoord( $exif['GPS']['GPSLatitude'][2] );

$latitude['decimal'] = ($latitude['degrees'])+($latitude['minutes'])/60+($latitude['seconds'])/3600;
$orlat = $exif['GPS']['GPSLatitudeRef'] == 'W' ? '-' : '' ;
$lat = $orlat. round(($latitude['decimal']),5);

// Longitude
$longitude['degrees'] = getCoord( $exif['GPS']['GPSLongitude'][0] );
$longitude['minutes'] = getCoord( $exif['GPS']['GPSLongitude'][1] );
$longitude['seconds'] = getCoord( $exif['GPS']['GPSLongitude'][2] );

$longitude['decimal'] = ($longitude['degrees'])+($longitude['minutes'])/60+($longitude['seconds'])/3600;
$orlong = $exif['GPS']['GPSLatitudeRef'] == 'S' ? '-' : '' ;
$long = $orlong. round(($longitude['decimal']),5);
?>
<!DOCTYPE HTML>
<html lang="en-US">
<body>
Geo-Koordinaten:<?=$lat ?>,<?=$long ?>
<p><a href="https://openstreetmap.org/?mlat=<?=$lat ?>&mlon=<?=$long ?>#map=19/<?=$lat ?>/<?=$long ?>''" target="_blank">Show on the map</a>
</p>
</body>
</html>

Но как мне написать обратно.

Я знаю, что есть некоторые решения, использующие PEL или EXIF-Tool. Но разве это не может быть сделано с помощью простых строк кода, чтобы сохранить размер Установки небольшим, потому что данные уже существуют как long / lat или в оригинальном exif?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...