• 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 
    版权声明:本文为博主原创文章,转载请附上博文链接!
    
    

     

  • 相关阅读:
    Codeforces Round #271 (Div. 2) F. Ant colony 线段树
    poj 1744 tree 树分治
    HDU Shell Necklace CDQ分治+FFT
    BZOJ 1567: [JSOI2008]Blue Mary的战役地图 矩阵二维hash
    BZOJ 1042: [HAOI2008]硬币购物 容斥+背包
    HDU 6078 Wavel Sequence 树状数组优化DP
    Gym
    HDU 6058 Kanade's sum 二分,链表
    HDU 6061 RXD and functions NTT
    ZOJ 3233 Lucky Number 容斥原理
  • 原文地址:https://www.cnblogs.com/wrld/p/10501138.html
Copyright © 2020-2023  润新知