更新时间:2018-03-20 来源:黑马程序员 浏览量:
一、功能介绍
目前有很多app在用户发布照片信息之后能够准确的显示出手机型号、地址、高度等信息,那么这些信息是如何获取的呢?本次专题就这个问题来阐述信息的获取。
二、实现效果
* 以QQ空间相册照片效果为例:
三、PHP获取照片信息功能实现
1、具备前提
环境要求:
php必须开启mbstring扩展和exif扩展;
文件要求:
读取的照片必须是未经处理的照片(如压缩,裁剪等);
2、具体步骤
1. 开启php对应的扩展,随后重启web软件;
去掉对应扩展前面的注释符号。
2.创建读取照片的静态页面,实现文件的选取与上传
效果如下:
如需要效果好看些许,可以考虑使用第三方上传组件,此处以webuploader为例,官网地址:
http://fex.baidu.com/webuploader/getting-started.html#%E5%9B%BE%E7%89%87%E4%B8%8A%E4%BC%A0
可以根据官网步骤实现上述效果。
需要注意的是,以下几个地方代码需要进行调整:
根据自身情况修改对应的路径
3.编写上传处理文件fileupload.php文件,实现文件的上传处理
该文件中重点步骤为第23行,由于此前已经开启了了exif扩展,此处可以借助exif相关函数操作文件。
第24行代码为输出的设备信息,交给前段模板继续处理。
4.完善前段回调处理
在上传模板中编写一个空白div,用于展示返回信息
在上传成功回调函数出完善回显
5.测试
此时基本已经大功告成,我们可以选择一个手机拍摄的照片进行测试,观察测试结果
上传前的效果:
上传后的效果:
根据前后图的对比,测试结果是正确的,说明信息读取成功。
四、总结
php的exif扩展除了能够获取拍摄设备的基本信息之外,还可以获取更多的信息,如经纬度,高度,曝光时间等多达50余项的信息。一个看似很高大上的功能在php中只需要依靠一个扩展加之几行代码就可以实现了。
本文版权归黑马程序员PHP学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:黑马程序员PHP培训学院