黑马程序员技术交流社区

标题: 【技术贴】PHP获取照片信息 [打印本页]

作者: 播妞    时间: 2018-9-28 08:00
标题: 【技术贴】PHP获取照片信息
一、功能介绍
目前有很多app在用户发布照片信息之后能够准确的显示出手机型号、地址、高度等信息,那么这些信息是如何获取的呢?本次专题就这个问题来阐述信息的获取。
二、实现效果
* 以QQ空间相册照片效果为例:        

三、PHP获取照片信息功能实现
1、具备前提
环境要求:
        php必须开启mbstring扩展和exif扩展;
文件要求:
        读取的照片必须是未经处理的照片(如压缩,裁剪等);
2、具体步骤

去掉对应扩展前面的注释符号。

效果如下:

如需要效果好看些许,可以考虑使用第三方上传组件,此处以webuploader为例,官网地址:
http://fex.baidu.com/webuploader/getting-started.html#%E5%9B%BE%E7%89%87%E4%B8%8A%E4%BC%A0
可以根据官网步骤实现上述效果。
        需要注意的是,以下几个地方代码需要进行调整:

根据自身情况修改对应的路径
        

该文件中重点步骤为第23行,由于此前已经开启了了exif扩展,此处可以借助exif相关函数操作文件。
第24行代码为输出的设备信息,交给前段模板继续处理。

在上传模板中编写一个空白div,用于展示返回信息

在上传成功回调函数出完善回显

此时基本已经大功告成,我们可以选择一个手机拍摄的照片进行测试,观察测试结果
上传前的效果:

上传后的效果:

根据前后图的对比,测试结果是正确的,说明信息读取成功。
四、总结
php的exif扩展除了能够获取拍摄设备的基本信息之外,还可以获取更多的信息,如经纬度,高度,曝光时间等多达50余项的信息。一个看似很高大上的功能在php中只需要依靠一个扩展加之几行代码就可以实现了。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2