PHP图片转base64

一、说明

1、图片

在这里插入图片描述

2、场景

  • html2canvas 生成的图片偏移不完整的解决方法
  • 由于 图片 加载过慢 还是 什么原因导致 生成的图片异常
  • 解决办法就是把图片转为 base64 传到前台展示,如下:
  • <img src='data:image/png;base64,iVBORdvqGQAAAnBSURBVGh'/>

二、代码

    //PHP获取图片base64
    public function test()
    {
    
    
        $file = 'C:\Users\Administrator\Desktop\图片.png';

        //不转换的话,报错 [ failed to open stream: No such file or directory ]
        //字符集错误:Windows默认的字符集是GBK,而当前的字符集是UTF-8,所以提示找不到文件。使用iconv函数转换即可。
        $file = iconv("UTF-8", "GBK//IGNORE", $file);

        $base64 = $this->image2Base64($file);

        //直接获取该图片的base64内容输出
//        $base64 = self::imageBase64();
//        echo $base64;die;

        //输出图片
        echo "<img src='{
      
      $base64}'/>";
    }

    //图片转Base64
    public function image2Base64($file)
    {
    
    
        $imageInfo = getimagesize($file);
        $imageData = fread(fopen($file, 'r'), filesize($file));
        $base64 = 'data:' . $imageInfo['mime'] . ';base64,' . chunk_split(base64_encode($imageData));
        return $base64;
    }

    //该图片的base64内容
    public function imageBase64()
    {
    
    
        return <<<EOF
data:image/png;base64,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
EOF;

    }

猜你喜欢

转载自blog.csdn.net/qq_36025814/article/details/129643278