全國(guó)咨詢(xún)/投訴熱線:400-618-4000

首頁(yè)技術(shù)文章正文

PHP獲取照片信息案例介紹

更新時(shí)間:2018-03-20 來(lái)源:黑馬程序員 瀏覽量:

一、功能介紹


目前有很多app在用戶(hù)發(fā)布照片信息之后能夠準(zhǔn)確的顯示出手機(jī)型號(hào)、地址、高度等信息,那么這些信息是如何獲取的呢?本次專(zhuān)題就這個(gè)問(wèn)題來(lái)闡述信息的獲取。


二、實(shí)現(xiàn)效果


* 以QQ空間相冊(cè)照片效果為例:


1521785730576_1.png

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


1、具備前提

環(huán)境要求:

php必須開(kāi)啟mbstring擴(kuò)展和exif擴(kuò)展;

文件要求:

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


2、具體步驟

1. 開(kāi)啟php對(duì)應(yīng)的擴(kuò)展,隨后重啟web軟件;


1521785742326_2.png

去掉對(duì)應(yīng)擴(kuò)展前面的注釋符號(hào)。


2.創(chuàng)建讀取照片的靜態(tài)頁(yè)面,實(shí)現(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)步驟實(shí)現(xiàn)上述效果。

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


1521785755983_4.png

根據(jù)自身情況修改對(duì)應(yīng)的路徑


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


1521785768592_5.png

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


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


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


在上傳模板中編寫(xiě)一個(gè)空白div,用于展示返回信息


1521785778077_6.png

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


1521785785343_7.png

5.測(cè)試


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


上傳前的效果:


1521785793343_8.png

上傳后的效果:


1521785802280_9.png

根據(jù)前后圖的對(duì)比,測(cè)試結(jié)果是正確的,說(shuō)明信息讀取成功。


四、總結(jié)


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


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

作者:黑馬程序員PHP培訓(xùn)學(xué)院

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

分享到:
在線咨詢(xún) 我要報(bào)名
和我們?cè)诰€交談!