当前位置:编程学习 > php >>

PHP 把图片转换成base64编码格式

图片的保存和传输有些不是很方便,可以转成字符串,把远程图片转成base64编码格式,传输图片字符串给前端,前端转换成图片

<?php


/**
 * 把图片转成base64编码
 * @param $file string 图片路径
 * @return array|string
 */
public function imgToBase64($file)
{
    if($fp = fopen($file,"rb", 0)) {
        // 获取图片文件大小
        $header_array = get_headers($file,true);
        $size = $header_array['Content-Length'];

        // 获取类型
        $img_info = getimagesize($file);

        // 类型默认png
        $img_type = 'png';
        // 判读图片类型
        switch ($img_info[2]) {
            case 1: $img_type = "gif";
                break;
            case 2: $img_type = "jpg";
                break;
            case 3: $img_type = "png";
                break;
        }

        $gambar = fread($fp, $size);
        fclose($fp);

        $base64Img = chunk_split(base64_encode($gambar));

        // 拼上文件类型和格式,解码时有些需要把这两个东西去掉,有些不需要,可以根据自己的场景调整,避免出错
        $imgContent = 'data:image/' . $img_type . ';base64,' . $base64Img;

        return ['imgContent' => $imgContent];
    }else{

        return '下载图片失败,请重试';
    }
}

//************使用************
// 图片路径
$file = 'zzzyk.com.png';
$imgContent = $this->imgToBase64($file);

print_r($imgContent);
补充:移动开发 ,  移动开发其他问题
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,