首頁技術文章正文

PHP獲取照片信息案例介紹

更新時間:2018-03-20 來源:黑馬程序員 瀏覽量:

一、功能介紹


目前有很多app在用戶發(fā)布照片信息之后能夠準確的顯示出手機型號、地址、高度等信息,那么這些信息是如何獲取的呢?本次專題就這個問題來闡述信息的獲取。


二、實現(xiàn)效果


* 以QQ空間相冊照片效果為例:


1521785730576_1.png

三、PHP獲取照片信息功能實現(xiàn)


1、具備前提

環(huán)境要求:

php必須開啟mbstring擴展和exif擴展;

文件要求:

讀取的照片必須是未經(jīng)處理的照片(如壓縮,裁剪等);


2、具體步驟

1. 開啟php對應的擴展,隨后重啟web軟件;


1521785742326_2.png

去掉對應擴展前面的注釋符號。


2.創(chuàng)建讀取照片的靜態(tài)頁面,實現(xiàn)文件的選取與上傳


效果如下:


1521785749639_3.png

如需要效果好看些許,可以考慮使用第三方上傳組件,此處以webuploader為例,官網(wǎng)地址:


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


可以根據(jù)官網(wǎng)步驟實現(xiàn)上述效果。

需要注意的是,以下幾個地方代碼需要進行調(diào)整:


1521785755983_4.png

根據(jù)自身情況修改對應的路徑


3.編寫上傳處理文件fileupload.php文件,實現(xiàn)文件的上傳處理


1521785768592_5.png

該文件中重點步驟為第23行,由于此前已經(jīng)開啟了了exif擴展,此處可以借助exif相關函數(shù)操作文件。


第24行代碼為輸出的設備信息,交給前段模板繼續(xù)處理。


4.完善前段回調(diào)處理


在上傳模板中編寫一個空白div,用于展示返回信息


1521785778077_6.png

在上傳成功回調(diào)函數(shù)出完善回顯


1521785785343_7.png

5.測試


此時基本已經(jīng)大功告成,我們可以選擇一個手機拍攝的照片進行測試,觀察測試結果


上傳前的效果:


1521785793343_8.png

上傳后的效果:


1521785802280_9.png

根據(jù)前后圖的對比,測試結果是正確的,說明信息讀取成功。


四、總結


php的exif擴展除了能夠獲取拍攝設備的基本信息之外,還可以獲取更多的信息,如經(jīng)緯度,高度,曝光時間等多達50余項的信息。一個看似很高大上的功能在php中只需要依靠一個擴展加之幾行代碼就可以實現(xiàn)了。


本文版權歸黑馬程序員PHP學院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!

作者:黑馬程序員PHP培訓學院

首發(fā):http://php.itheima.com/

分享到:
在線咨詢 我要報名
和我們在線交談!