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

现在绝大部分手机拍照的时候都会将经纬度记录在照片的的EXIF信息中,这也就是很多相册可以自动把照片按拍摄地点归类的原因!

其实有这个信息的照片,在属性中是可以看到的,如图所示:

PHP开发之读取照片EXIF中的经纬度位置信息_第1张图片

但是我们总不能每个照片都这么查看属性吧,本文将介绍如何使用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 头信息。这样就可以读取数码相机产生的元数据。

示例程序:

echo "GET GPS INFO:
\n"; $exif = exif_read_data('P70418-104719.jpg',0, true); if($exif===false){ echo 'No header data found!'; }else{ $latitude = $exif['GPS']['GPSLatitude']; //纬度 $longitude = $exif['GPS']['GPSLongitude']; //经度 $GPSLatitudeRef = $exif['GPS']['GPSLatitudeRef']; //南半球 S 北半球 N $GPSLongitudeRef = $exif['GPS']['GPSLongitudeRef']; //东半球 S 西半球 N var_dump($exif['GPS']); }
其中,经纬度获取的是含有三个元素数组的数组,分别为:度、分、秒,都用分数表示;

更多的信息可以用var_dump($exif['GPS']);打出来就一目了然了;

你可能感兴趣的:(php)