A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 播妞 程序媛   /  2018-9-28 08:00  /  1313 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

一、功能介绍
目前有很多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中只需要依靠一个扩展加之几行代码就可以实现了。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马