проверка широты и амплитуды долгота существует в изображении

Поэтому я поигрался с функцией read_exif_data и столкнулся с небольшой проблемой.
Я должен остановить загрузку файла, если изображение не имеет долготы & широта в нем.

проблема в том, что я не могу найти способ проверить, находится ли массив gps в данных exif.

Я читаю данные из $ _ FILES [‘spotImg’] [‘tmp_name’] И я получаю exif, который мне нужен.

Проблема только в том случае, если на изображении нет данных gps.

if($_FILES['spotImg']['error'] == 0){

$file = "image_".uniqid(). $_FILES['spotImg']['name'];
$img = WideImage::loadFromFile($_FILES['spotImg']['tmp_name']);

//check if exif data is avalible
$temp = $_FILES['spotImg']['tmp_name'];
$exif = read_exif_data($temp, 0, true);

echo "<pre">;
print_r($exif);
echo "</pre>;

}

Это то, о чем я думал, но это не работа

if(isset($exif['GPSLatitude'])){
//run code if long/latitude was found
}else{
//give a error message if long/latitude was NOT found
}

это массив, который я хочу проверить, если существует

[GPS] => Array
(
[GPSLatitudeRef] => N
[GPSLatitude] => Array
(
[0] => 55/1
[1] => 41/1
[2] => 2846/100
)

[GPSLongitudeRef] => E
[GPSLongitude] => Array
(
[0] => 12/1
[1] => 33/1
[2] => 1568/100
)

[GPSAltitudeRef] =>
[GPSAltitude] => 68780/4027
[GPSTimeStamp] => Array
(
[0] => 12/1
[1] => 48/1
[2] => 4621/100
)

[GPSSpeedRef] => K
[GPSSpeed] => 0/1
[GPSDateStamp] => 2015:09:16
)

1

Решение

У меня была похожая проблема с чтением свойства [‘direction’] изображения; у некоторых их нет.

Решение, которое я нашел, состояло в том, чтобы сделать проверку с! Empty () следующим образом:

if(!empty($exif['GPSLatitude'])){
//run code if long/latitude was found
}else{
//give an error message if long/latitude was NOT found
}

Эта проверка должна работать без каких-либо ошибок.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]