php從數據庫中取二進制流文件轉換為圖片,圖片以二進制流存入數據庫實現
function data_uri($contents, $mime) { $base64 = base64_encode($contents); return ('data:' . $mime . ';base64,' . $base64); }
調用
//獲得頭像路徑 function getpicsrc() { $db=new db(); $sql="select * from pictable"; $res=$db->query($sql); $pic=$res[0]; $src=data_uri($pic,'image/png'); return $src; }
顯示圖像
$src=getpic($tel);//獲得頭像 <img style="border-radius: 50%;" src="<?php echo $src;?>">
可能遇到的問題:取出的圖片顯示不全
這與php配置有關,修改一下Php.ini文件
odbc.defaultlrl = 8M
將圖片轉換為二進制流保存到數據庫中image類型 1根據圖片路徑將圖片轉化為二進制流 //圖片轉二進制,$pic為圖片路徑 $content=file_get_contents($pic); 2獲取的二進制進行格式化 $content="0x".bin2hex($content); 3插入數據表 $sql="INSERT INTO[sPic]) VALUES ($content)"; 注意在使用Thinkphp自帶的數據插入方法時總是報錯,因為它會將spic的值自動加上單引號,插入的時候就被認為是字符串型,插入就會失敗 --------------------- 作者:liuhongwei_study 來源:CSDN 原文:https://blog.csdn.net/liuhongwei_study/article/details/41120443 版權聲明:本文為博主原創文章,轉載請附上博文鏈接!