php從數據庫中取二進制流文件轉換為圖片,圖片以二進制流存入數據庫實現


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 
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

 

 

 
        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM