利用PHP將圖片轉(zhuǎn)換成base64編碼的實(shí)現(xiàn)方法
先來說一下為什么我們要對(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="' . $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é)
通過上面的方法轉(zhuǎn)換后得到的base64編碼字符串,可以存放到數(shù)據(jù)庫(kù)中,需要時(shí)可以直接從數(shù)據(jù)庫(kù)中讀取,減少訪問圖片時(shí)的請(qǐng)求數(shù)量。這個(gè)方法已經(jīng)包含進(jìn)MiniFramework的全局函數(shù)庫(kù)中了。以上就是這篇文章的全部?jī)?nèi)容了,希望對(duì)本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,謝謝大家對(duì)腳本之家的支持。
PS:關(guān)于加密技術(shù),本站還提供了如下加密工具供大家參考使用:
圖片轉(zhuǎn)換為Base64編碼在線工具:http://tools.jb51.net/transcoding/img2base64
MD5在線加密工具:http://tools.jb51.net/password/CreateMD5Password
Escape加密/解密工具:http://tools.jb51.net/password/escapepwd
在線SHA1加密工具:http://tools.jb51.net/password/sha1encode
短鏈(短網(wǎng)址)在線生成工具:http://tools.jb51.net/password/dwzcreate
短鏈(短網(wǎng)址)在線還原工具:http://tools.jb51.net/password/unshorturl
高強(qiáng)度密碼生成器:http://tools.jb51.net/password/CreateStrongPassword
- PHP實(shí)現(xiàn)本地圖片轉(zhuǎn)base64格式并上傳
- PHP保存Base64圖片base64_decode的問題整理
- php curl簡(jiǎn)單采集圖片生成base64編碼(并附curl函數(shù)參數(shù)說明)
- PHP實(shí)現(xiàn)將base64編碼字符串轉(zhuǎn)換成圖片示例
- php讀取和保存base64編碼的圖片內(nèi)容
- php實(shí)現(xiàn)base64圖片上傳方式實(shí)例代碼
- php解析base64數(shù)據(jù)生成圖片的方法
- php實(shí)現(xiàn)將base64格式圖片保存在指定目錄的方法
- php中base64_decode與base64_encode加密解密函數(shù)實(shí)例
- PHP 實(shí)現(xiàn)base64編碼文件上傳出現(xiàn)問題詳解
相關(guān)文章
在WordPress中使用wp-cron插件來設(shè)置定時(shí)任務(wù)
這篇文章主要介紹了在WordPress中使用wp-cron插件來設(shè)置定時(shí)任務(wù)的方法,文中給出了幾個(gè)常用的相關(guān)PHP函數(shù)和參數(shù),需要的朋友可以參考下2015-12-12
完美解決Thinkphp3.2中插入相同數(shù)據(jù)的問題
下面小編就為大家?guī)硪黄昝澜鉀QThinkphp3.2中插入相同數(shù)據(jù)的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08
Laravel8 使用圖形驗(yàn)證碼做登錄功能的實(shí)現(xiàn)
這篇文章主要介紹了Laravel8 使用圖形驗(yàn)證碼做登錄功能的實(shí)現(xiàn),通過安裝擴(kuò)展包調(diào)用相關(guān)接口進(jìn)行校驗(yàn)驗(yàn)證碼是否正確,代碼簡(jiǎn)單易懂,需要的朋友可以參考下2021-06-06
yii2.0框架場(chǎng)景的簡(jiǎn)單使用示例
這篇文章主要介紹了yii2.0框架場(chǎng)景的簡(jiǎn)單使用,結(jié)合實(shí)例形式分析了yii2.0框架場(chǎng)景的使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2020-01-01
Laravel 5.4因特殊字段太長(zhǎng)導(dǎo)致migrations報(bào)錯(cuò)的解決
這篇文章主要給大家介紹了關(guān)于Laravel 5.4因特殊字段太長(zhǎng)導(dǎo)致migrations報(bào)錯(cuò)的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起看看吧。2017-10-10
PHP用函數(shù)嵌入網(wǎng)站訪問量計(jì)數(shù)器
這篇文章主要為大家詳細(xì)介紹了PHP用函數(shù)嵌入網(wǎng)站訪問量計(jì)數(shù)器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10
windows的文件系統(tǒng)機(jī)制引發(fā)的PHP路徑爆破問題分析
這篇文章主要介紹了windows的文件系統(tǒng)機(jī)制引發(fā)的PHP路徑爆破問題分析,需要的朋友可以參考下2014-07-07
php實(shí)現(xiàn)文件下載功能的幾個(gè)代碼分享
我們一般實(shí)現(xiàn)下載都是調(diào)用url來下載,但是遇到ie能識(shí)別打開的文件就不能用這種方式了,比如下載一個(gè)圖片、html網(wǎng)頁(yè)等,這時(shí)就需要編程來實(shí)現(xiàn)2014-05-05

