首页技术文章正文

PHP获取照片信息案例介绍

更新时间:2018-03-20 来源:黑马程序员 浏览量:

一、功能介绍


目前有很多app在用户发布照片信息之后能够准确的显示出手机型号、地址、高度等信息,那么这些信息是如何获取的呢?本次专题就这个问题来阐述信息的获取。


二、实现效果


* 以QQ空间相册照片效果为例:


1521785730576_1.png

三、PHP获取照片信息功能实现


1、具备前提

环境要求:

php必须开启mbstring扩展和exif扩展;

文件要求:

读取的照片必须是未经处理的照片(如压缩,裁剪等);


2、具体步骤

1. 开启php对应的扩展,随后重启web软件;


1521785742326_2.png

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


2.创建读取照片的静态页面,实现文件的选取与上传


效果如下:


1521785749639_3.png

如需要效果好看些许,可以考虑使用第三方上传组件,此处以webuploader为例,官网地址:


http://fex.baidu.com/webuploader/getting-started.html#%E5%9B%BE%E7%89%87%E4%B8%8A%E4%BC%A0


可以根据官网步骤实现上述效果。

需要注意的是,以下几个地方代码需要进行调整:


1521785755983_4.png

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


3.编写上传处理文件fileupload.php文件,实现文件的上传处理


1521785768592_5.png

该文件中重点步骤为第23行,由于此前已经开启了了exif扩展,此处可以借助exif相关函数操作文件。


第24行代码为输出的设备信息,交给前段模板继续处理。


4.完善前段回调处理


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


1521785778077_6.png

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


1521785785343_7.png

5.测试


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


上传前的效果:


1521785793343_8.png

上传后的效果:


1521785802280_9.png

根据前后图的对比,测试结果是正确的,说明信息读取成功。


四、总结


php的exif扩展除了能够获取拍摄设备的基本信息之外,还可以获取更多的信息,如经纬度,高度,曝光时间等多达50余项的信息。一个看似很高大上的功能在php中只需要依靠一个扩展加之几行代码就可以实现了。


本文版权归黑马程序员PHP学院所有,欢迎转载,转载请注明作者出处。谢谢!

作者:黑马程序员PHP培训学院

首发:http://php.itheima.com/

分享到:
在线咨询 我要报名
和我们在线交谈!