1.圖片轉(zhuǎn)換 將上傳的圖片讀取到一個(gè)字符串中,再用base64對(duì)數(shù)據(jù)進(jìn)行編碼 $img =base64_encode(file_get_contents($_FILES['file_head']['tmp...
創(chuàng)新互聯(lián)建站堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的建德網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
2.顯示圖片 imgsrc="{$base64String}" 這樣就能把圖片顯示出來(lái)了
保存圖片到數(shù)據(jù)庫(kù)做什么?保存到本地使用起來(lái)也方便,真要保存通過(guò)base64字符串保存。
?php
header('Content-type:text/html;charset=utf-8');
//讀取圖片文件,轉(zhuǎn)換成base64編碼格式
$image_file?=?'./image123.jpg';
$image_info?=?getimagesize($image_file);
$base64_image_content?=?"data:{$image_info['mime']};base64,"?.?chunk_split(base64_encode(file_get_contents($image_file)));
//?$base64_image_content?輸入到數(shù)據(jù)庫(kù)
//保存base64字符串為圖片
//匹配出圖片的格式
if?(preg_match('/^(data:\s*image\/(\w+);base64,)/',?$base64_image_content,?$result)){
$type?=?$result[2];
$new_file?=?"./test.{$type}";
if?(file_put_contents($new_file,?base64_decode(str_replace($result[1],?'',?$base64_image_content)))){
echo?'新文件保存成功:',?$new_file;
}
}
?
img?src="?php?echo?$base64_image_content;?"?/
存儲(chǔ)的是相對(duì)路徑,可以到網(wǎng)站服務(wù)器上查看,應(yīng)該有upload文件夾,里面就是存儲(chǔ)的圖片,這樣寫的好處是節(jié)省了數(shù)據(jù)庫(kù)存儲(chǔ)空間,轉(zhuǎn)移的時(shí)候可以直接將整個(gè)服務(wù)器的圖片打包轉(zhuǎn)移。
訪問的時(shí)候,前面可以拼接域名和指定的路徑,這些后臺(tái)可以輕松獲取到,然后拼接上服務(wù)器的路徑,我們就可以直接在網(wǎng)頁(yè)上訪問到圖片了。
這是很常見的圖片數(shù)據(jù)庫(kù)保存方式,和直接把圖片的二進(jìn)制存入數(shù)據(jù)庫(kù),這樣的方式便于檢索,占用空間小。當(dāng)然,目前主流都采用oss來(lái)單獨(dú)存儲(chǔ)文件了,就是有專門的文件服務(wù)器,這個(gè)時(shí)候,一般存儲(chǔ)的是完整的圖片路徑。