先來(lái)說(shuō)一下為什么我們要對(duì)圖片base64編碼
base64是當(dāng)前網(wǎng)絡(luò)上最為常見的傳輸8Bit字節(jié)代碼的編碼方式其中之一。base64主要不是加密,它主要的用途是把某些二進(jìn)制數(shù)轉(zhuǎn)成普通字符用于網(wǎng)絡(luò)傳輸。由于這些二進(jìn)制字符在傳輸協(xié)議中屬于控制字符,不能直接傳送,所以需要轉(zhuǎn)換一下。雖然圖片可能直接傳輸,但是我們也可以將它變成字符串直接放在源碼里,而不需要瀏覽器在讀取到源碼后再?gòu)姆?wù)器上下載。
如何使用PHP對(duì)圖片進(jìn)行base64解碼輸出
<?php $img = 'test.jpg'; $base64_img = base64EncodeImage($img); echo '<img src="http://www.gimoo.net/t/1810/5bd3f9b9599f7.html' . $base64_img . '" />'; function base64EncodeImage ($image_file) { $base64_image = ''; $image_info = getimagesize($image_file); $image_data = fread(fopen($image_file, 'r'), filesize($image_file)); $base64_image = 'data:' . $image_info['mime'] . ';base64,' . chunk_split(base64_encode($image_data)); return $base64_image; } ?>
總結(jié)
通過(guò)上面的方法轉(zhuǎn)換后得到的base64編碼字符串,可以存放到數(shù)據(jù)庫(kù)中,需要時(shí)可以直接從數(shù)據(jù)庫(kù)中讀取,減少訪問(wèn)圖片時(shí)的請(qǐng)求數(shù)量。這個(gè)方法已經(jīng)包含進(jìn)MiniFramework的全局函數(shù)庫(kù)中了。以上就是這篇文章的全部?jī)?nèi)容了,希望對(duì)本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,謝謝大家對(duì)綠夏網(wǎng)的支持。
PS:關(guān)于加密技術(shù),本站還提供了如下加密工具供大家參考使用:
圖片轉(zhuǎn)換為Base64編碼在線工具:http://tools.gimoo.net/transcoding/img2base64
MD5在線加密工具:http://tools.gimoo.net/password/CreateMD5Password
Escape加密/解密工具:http://tools.gimoo.net/password/escapepwd
在線SHA1加密工具:http://tools.gimoo.net/password/sha1encode
短鏈(短網(wǎng)址)在線生成工具:http://tools.gimoo.net/password/dwzcreate
短鏈(短網(wǎng)址)在線還原工具:http://tools.gimoo.net/password/unshorturl
高強(qiáng)度密碼生成器:http://tools.gimoo.net/password/CreateStrongPassword