检查图像中是否存在 exif 纬度和经度
checking if exif latitude & longitude exists in image
所以我在使用 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
)
我在读取图像的 ['orientation'] 属性 时遇到了类似的问题;有些没有。
我找到的解决方案是使用 !empty() 进行检查,如下所示:
if(!empty($exif['GPSLatitude'])){
//run code if long/latitude was found
}else{
//give an error message if long/latitude was NOT found
}
此检查应该可以正常工作,不会引发任何错误。
read_exif_data() alias – Has been deprecated. Use the exif_read_data() function instead
所以我在使用 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
)
我在读取图像的 ['orientation'] 属性 时遇到了类似的问题;有些没有。
我找到的解决方案是使用 !empty() 进行检查,如下所示:
if(!empty($exif['GPSLatitude'])){
//run code if long/latitude was found
}else{
//give an error message if long/latitude was NOT found
}
此检查应该可以正常工作,不会引发任何错误。
read_exif_data() alias – Has been deprecated. Use the exif_read_data() function instead