Discuz!大师网

搜索
查看: 1456|回复: 0

PHP开发之读取照片EXIF中的经纬度位置信息

[复制链接]
发表于 2017-4-17 23:14:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
现在绝大部分手机拍照的时候都会将经纬度记录在照片的的EXIF信息中,这也就是很多相册可以自动把照片按拍摄地点归类的原因!
其实有这个信息的照片,在属性中是可以看到的,如图所示:
1.jpg
但是我们总不能每个照片都这么查看属性吧,本文将介绍如何使用PHP读取照片EXIF中的经纬度位置信息
这里要用到一个函数:
array exif_read_data ( string $filename [, string $sections = NULL [, bool $arrays = false [, bool $thumbnail = false ]]] )
参数介绍:
filename:被读取的图像文件名。不能是 URL。
sections:是需要存在于文件中的逗号分隔的区段列表用来产生结果数组。如果未找到所请求的区段则返回值为 FALSE。
arrays:指定了是否每个区段都成为一个数组。
thumbnail:当设定为 TRUE 时,读取缩略图本身。否则只读取标记数据。
返回值:
返回一个关联数组,键名是头信息名,值为与其相应的值。如果没有可供返回的数据将返回 FALSE。
exif_read_data()函数的作用是从 JPEG 或 TIFF 图像文件中读取 EXIF 头信息。这样就可以读取数码相机产生的元数据。
示例程序:
  1. echo "GET GPS INFO:<br />\n";
  2. $exif = exif_read_data('P70418-104719.jpg',0, true);
  3. if($exif===false){
  4.         echo 'No header data found!';
  5. }else{
  6.         $latitude = $exif['GPS']['GPSLatitude'];   //纬度  
  7.         $longitude = $exif['GPS']['GPSLongitude']; //经度       
  8.         $GPSLatitudeRef = $exif['GPS']['GPSLatitudeRef']; //南半球 S 北半球 N       
  9.         $GPSLongitudeRef = $exif['GPS']['GPSLongitudeRef']; //东半球 S 西半球 N       
  10.         var_dump($exif['GPS']);
  11. }
复制代码

其中经纬度获取的是含有三个元素数组的数组,分别为:度、分、秒,都用分数表示;
更多的信息可以用var_dump($exif['GPS']);打出来就一目了然了;
回复 马甲回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|网站地图|小黑屋|展会网|Discuz站长论坛 |天天打卡

GMT+8, 2024-4-24 15:35 , Processed in 0.030328 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表