php图片与base64互相转换

/* 图片转化为data/base64数据流 */

function base64EncodeImage($img_file) {

    $img_base64 = '';
    if (file_exists($img_file)) {

        /* 图片路径 */
        $app_img_file = $img_file;
        /* 图片大小,类型 */
        $img_info = getimagesize($app_img_file);
        /* 图片可读权限 */
        $fp = fopen($app_img_file, "r");
        if ($fp) {

            $filesize = filesize($app_img_file);
            $content = fread($fp, $filesize);
            /* 图片base64编码 */
            $file_content = chunk_split(base64_encode($content));
            /* 图片类型判断 */
            switch ($img_info[2]) {

            case 1:
                $img_type = "gif";
                break;
            case 2:
                $img_type = "jpg";
                break;
            case 3:
                $img_type = "png";
                break;

            }
            /* 合成图片的base64编码 */
            $img_base64 = 'data:image/'.$img_type.';base64,'.$file_content;

        }
        fclose($fp);

    }
    /* 返回图片base64编码 */
    return $img_base64;

}

/* base64转换成图片存储 */
$data = str_replace('data:image/jpg;base64,', '', $img_base64);
file_put_contents(文件路径, base64_decode($data));

猜你喜欢

转载自blog.csdn.net/u011086209/article/details/84950453